Last night I worked on my uncle's GMT800. Back in November I'd swapped the engine out in it, an LQ4, and ever since it's had a misfire and an evap leak. I wanted to go after the evap leak as I suspected the misfire was caused by a needed crank relearn that I couldn't perform with other codes present. So I fixed the leak, pulled codes, and a new one had popped up: P0101 MAF sensor performance. Cleared and went for a drive. All 3 (misfire, evap, MAF) came right back. But the evap code was for control, not a leak, so I swiped the purge valve off the old motor and that code stayed away. Next I pulled up the freeze frame data for the MAF code. LTFTs were 22 and 23. So maybe it's underreporting airflow and causing a leak condition? I watched the live data and while the Hz moved as expected, reported airflow did not. But isn't that done inside the PCM? Whatever, unplug the thing and go for a drive. Torque converter instantly locked right up. Guess the MAF is junk, I'd already tried cleaning the thing. Never in a million years would I have expected a MAF to cause misfires exclusively on cylinders 5 and 8, especially after moving plugs, wires, coils, injectors around.