My 2000 4.6l has been having a high idle and hanging RPM for a while now. It would idle at 2000 rpm, sometimes as high as 2500, and the rpm would hang at those rpm's in between shifts. I installed a IAC restrictor plate to temporarily fix it. Since then the rpm does not hang anymore but the idle will not go below 1400-1500 rpm. After that I replaced the IAC unit twice, cleaned the throttle body, replaced the EGR solenoid, replaced the PCV valve, Checked and all vacuum hoses with soapy water (found NO leaks), checked the TPS voltage and adjusted it until it read .96 volts, and checked all other sensor wiring with a voltage meter to make sure it was not a wiring issue. Today I replaced the intake manifold gasgets and the idle is still high at 1400 rpm. I went through and adjusted the idle screw, unplugged the battery in an attempt for it to relearn the idle position and still no fix. I returned the car back to stock with my SCT Bluetooth tuner that plugs into the OBDII port, and the car ran exactly the same. When I re uploaded a tune on it from the previous owner there was no change at all. If I unplug the IAC while its running the engine runs just fine and shows no signs of dying. I cannot find any vacuum leaks anywhere and am now thinking it may be a tune related thing, but the high idle and hanging rpm came after the car sat for a couple months.
Modifications on the engine are a 78mm throttle body, Cold air intake, mild cam, and a catch-can.
Any help is much appreciated