This is curious, but I thought I'd post it in case it helps others rule any contributing factors out before going in for head work. Since I got my Colorado (2005, 3.5L) in January, I'd had intermittent CELs with mostly P300s and P304 codes. After changing a coil pack and all plugs, running some fuel injector cleaner, and cleaning everything out including the throttle body and mass airflow sensor, it was still occasionally throwing (about once a week). My mechanic suggested running a tank of good gas through it as an experiment, so I filled it up with Chevron/Techron (87 octane only) and the light stayed off. Ran another tank through it and it stayed off some more. Switched back to my cheap gas (I get the 87 octane from the QFC/Kroger grocery chain), and by gum, at the end of the second tank of that it threw a CEL again (same codes). I reset the light and switched to Chevron again and it stayed off. But I get a points discount for gas at the QFC and was really sad about the idea of my working truck being a gas snob and needing precious Chevron juice, which tends to run up to 60 cents a gallon more than the QFC stuff, so for the next tank I upgraded to QFC's 89 octane (still way cheaper than Chevron). The light has not come back on and I've gone through about 3 tanks of that now.
So I think my Colorado was just trying to tell me wanted higher-quality and/or higher-octane gas. I suspect the QFC 87 (or ethanol/water/other contamination therein) was just making it ping and causing it to throw codes. I feel that the truck and I have reached an appropriate compromise on the QFC 89 - I still get my points discount, and the truck gets something other than the cheapest, most horrible fuel on the market.
Experimenting with gas octane and/or brand might therefore be a thing to try if you're getting these codes.