I had this very same problem a few months back. I suspected that it was stemming from the IAC or the TPS. I started the cheapest way possible be adjusting the parameters that were within my control. First, I loosened the two screws that hold the TPS and twisted the TPS slightly (whatever the slop in the screw holes allow). I tightened the screws back down and took it for a test drive to no prevail. Next I adjusted the throttle blade stop using the allen set screw on the throttle body. This can be a bit "touchy" so I would recommend doing this with the motor running so the you can audibly monitor the RPM of the engine and make sure that you do not adjust the screw too far. This was the solution to my problem although it did take a bit of trial and error and a few test drives. This adjustment can also leave the RPMs hanging when you depress the clutch and coast to a stop. If that happens, start backing off the set screw 1/4 to 1/2 turn at a time.
Hope this helps...