Since you mentioned your idle steadied out after you disconnected your TPS, could it be a malfunctioning TPS?

I'm no mechanic, just trying to think logically.