Need help from any mechanic friends out there!!! My 2007 Suburban LT 5.3l was showing a code that the Throttle Position Sensor was bad, causing the Check Engine Light to stay on. I got a new one & replaced it. Put it all back together but the light didn't go off. I looked at the Throttle Body & realized it could use some serious cleaning, so that was next. Put it all back together again, no light! WooHoo, fixed! No so fast dude, now it idles up to 3300 RPM!!! Follow the relearn procedures of turn on, run at idle for 3 minutes, shut off for 30 seconds, turn on run at idle which should come back down to normal. Sounds good right? Worked on first restart but second restart had it back at 3000+ RPM. Figuring the Throttle Body might have too much carbon that it's getting stuck even after thorough cleaning, I spring for a new Throttle Body with an attached TPS. Install new parts, put it all back together, run the relearn procedures, same results. What am I doing wrong?!? Afraid to drive it as 3000+ RPM would cause it to drive too fast & only way I found to lower idle to normal is shutting off the engine then restarting but only in idle. Seems if I hit the Accelerator, the idle goes back up. Need it fixed today so dropping off to a mechanic is not a viable option if at all possible as most spots locally take a week or more to fix stuff due to low manpower. HELP PLEASE!!!!