The fact you unplug the ICV and it revs up shows that it is working properly. 1222 is a bitch of a code. I just dealt with that code for like a year, and Ive read people still having it 2 years down the road. After replacing pretty much every sensor, fuel pump, plugs, wires, coils, every intake gasket, blah blah blah, I scrapped my engine because it had 250k and I was tired of dealing with it. The new engine still had the same code. I just replaced my fuel filter and O2 sensor for the second time and the code is finally gone.
The 1222 can be so many different things its a PITA to diagnose. Definitely start with your O2 though, because I only put 2000 miles on mine and killed it from having blowby in a cylinder, so dont be surprised. What kind of O2 sensor did you replace it with?
I dont think its an issue of running lean, as you would probably get a 1226 from the knock sensor for sure, which is another popular BS code. How are the visual conditions of your plugs and oxygen sensor?