Throttle body clean (proper clean with carb cleaner and a rag+elbow grease) followed by a Throttle Position Sensor reset on my old 350z cured me of the same probs you have. Is it possible to 'reset' the 996 throttle position sensor? On the 350z you could do a 'Pedal Dance' in the correct sequence at ignition setting 1 to get the throttle to re-learn its position (you could actually hear it adjust itself after completing the dance lol)