The P0014 code means the Bank1 exhaust timing is being reported more advanced than the ECM is commanding.
This could be several things. The VVT could be sticking so it could actually be more advanced or the sensor could be out of whack or the wiring to the oil control valve could be damaged, or the ECM could be damaged.
Shotgunning this could get very very very expensive. You need to take a look at the service manuals and service bulletins then troubleshoot it to narrow it down.
Are you using the GM/AC-Delco oil filters and Dexos rated oil? The VVT system runs off oil pressure. Dexos rated oil is on the shelf at WalMart from several brands and it's no more expensive than the stuff that's not rated... so it's not worth buying the stuff that ain't.
Normally I wouldn't get GM oil filters but on the 3.6L I run the GM filter. With this problem I'd at least look up the bypass valving and media specs to make sure the filter you're using matches the GM filter specs exactly.
Being the untrusting sort I just change my oil at 5,000 mile intervals and re-set the oil life monitor. That's always been well before the oil life monitor gets snotty about it. I figure GM doesn't have a vested interest in my vehicle lasting longer than the end of the warranty. I don't have sludge problems in my LS and 3.6L engines.