Couple things to check, and do.
2.9l's hate eating oil. Despise it, in fact. Catch can the thing before it builds as much crust inside the intakes as rusty's
So, changed valve cover gaskets recently. Noticed an undue amount of oil in the pcv vac lines coming off the valve covers, which seemed odd to me. New pcv 4000-5000 miles ago; it still seemed to be working fine. Just for poops and laughs, tried an experiment. Ordered a $30 amazon catch can...
www.therangerstation.com
In order, I'd bet on residual oil scum/pcv BS as A 60% chance of being your cause, followed by rings as 20%. What was the reason for your head gaskets? Compression tests will show good with "meh" rings. When you're working the lungs hard is when blow by will occur. Makes sense to me.
Last time you ran a can of aerosol seafoam through your intake? The liquid won't do much for a 2.9. They LOVE the aerosol stuff, though. I run a catch can and water/methanol injection on mine. I still run a can of seafoam every other oil change, and a bottle of motor flush every time. 2.9s hate three things: heat, dirt, breathing oil. Fix those and you have a few million miles left in her.
No matter your cause, catch can will stop nearly all oil vapors coming into your intake. Just put it in a cold spot in the engine bay. Mine is over by the clutch reservoir now. Works much better then when it was on the intake.