mine used to run hot and have a rough idle sometimes, always had p0303. one week idle was fine then rough two weeks later and so on. i did a compression check with the engine cold. it turned out fine. dont know if temperature of motor makes a big difference but since compression was fine, i cancelled out head gasket or cracked block or head. couple months later i noticed radiator water would shoot up like a geyser when idle was rough. checked it with the block tester and saw that combustible gases were escaping the bore and into water passages. took engine apart and saw a small crack that went from valve to valve on number 3 cylinder head. not saying that could be your problem but check the coolant with a block tester. good luck