if the idle climbs to about 1500 or 2000 rpm then drops to 650 and starts climbing again repeatedly, you've got an air leak somewhere. As you drive it seems ok, then as you let the car idle the rpms go crazy. mine was at the IAC gasket. one of the two mounting bolts snapped and the IAC was no longer held tight against the intake manifold. starting & stalling unless you apply gas is classic symptom of bad/dirty/sticking IAC. since you've already cleaned it once, replace it and the gasket, make sure the mounting bolts are torqued properly. I'd replace the bolts with new ones.