I had the same problem. There is a thread on here that talks about that same problem. GM issued a TSB about this a few years back. The Pintle needle in your CMFI becomes clogged over time due to deposits, it will stick in the open position, allowing fuel to drip, and causing cylinders to misfire. The procedure calls for trying to clean, and if it cant be cleaned, then replace the CMFI (CPI). What I did was run my tank down to a quarter tank of gas, and add a whole bottle of Injector cleaner. Once that had run through, i made sure the gas was just a little over empty, and added just a little sea foam (like a cup or so). I ran that through, and then just filled the tank like normal. I havent had the 0300 random missfire code since. Its also not having the misfire and running like a log truck on the cold mornings. Hope this helps.