I had a GM truck doing the same, replaced the TPS ( didnt fix it)..

Turned out there was a hole in the throttle body gasket ( where it mounted to the intake)..

Might want to check it....