Well I have a 2001 silverado 2500 with a 6.0 and for the last 2 months I have tried to figure this out, At 2400-2700 rpm it throws p0300 code but the truck runs perfect and only does this at that rpm I can make it do it on demand almost. It will do under a load or just coasting down a hill. I have changed plugs, wires, fuel filter and air cleaner then cleaned the MAF checked the intake for vacuum leaks took it to a local shop that ran it on a scanner and did some tests and could not figure it out ? the light will flash and then go out if I give it more gas truck speeds up no misfire ?
The truck has also had the normal 6.0 ticking for the last 10k mile too ?