Maybe it's your oil filter. What brand are you using? How about the oil? Is it throwing a code for it?
When I bought the Envoy it had a P0017 code and that was all it had. I did the CASE relearn and it seemed fine for just a couple of starts. The vehicle overheated on his son in Texas and a place down there put an engine in it that was supposed to have had about 95k miles on it. When I got it, it had an oil change about 1000 miles before I bought it.
I pulled the VVT solenoid and it was missing 1 screen, another screen was barely hanging on
I bought a new one and it seemed fine for a couple of starts.
Pulled the new VVT out and replaced it with the old and thinking the pickup tube may be clogging/clogged, I decided to do an oil flush with some Motor Medic then drained that and put about a 1-1/4 gallon of parts cleaner in it and let it sit for about 4 days. Did about 4 occasional startups for about 10 seconds each time. Drained that out and it was nasty dark and draining that pan out, and it had small chunks in the bottom of the drain pan.
Put in 6 quarts Havoline Synthetic and 1 quart of Marvel Mystery and FRAM oil filter (I know, not a great choice) swapped the new VVT solenoid and it was good for a few starts.
Decided to pull my scanner out and see what the Cam Phaser was doing when commanded, it wasn't really doing anything. Then it gave a P0014 code along with the P0017 code. Pulled the new VVT out and it was totally clogged. Cleaned it out, put it back in and it lasted for a few starts, and did it again. It was clogged.