I have a 1999 Suburban K1500 that has been driving myself and my well meaning neighbors absolutely insane. The truck runs beautifully and has 120,000 miles.
Shortly after we bought an old boat, we noticed an intermittent rattle from the drive train area when the truck was under a load. It happened frequently when towing; but it would still happen if you accelerated at anything more then a moderate clip unloaded.
First thing we did was drain the fluid out of both the transfer case and differential looking for a clue. The transfer case fluid looked bright red; and the differential fluid was foul as all get out (in other words normal for being unchanged for who knows how long). Both me and a couple others dug around a bit and could find no signs of ware anywere inside the differential. Just for giggles we popped out the axels and replaced the rear bearings and seals and hoped for some luck. No chance.
I also had an intermittent misfire indication that came up. On the off chance that was causing some funky exhaust noises, I also swapped out plugs, wires, rotor and cap. Fixed the misfire light; but nothing for the rattle.
So, I have now given up two weekends and am hoping for a best guess for a third.
Honestly, I would swear the thing sounds like an intermittent chain slip (transfer case?) but a couple of my well meaning neighbors, well sticking their heads under the 6,500 lb four wheel drive while it was rocking back and fourth, really believe it is a possible U-Joint fault.
I did take it to the local mechanic who thought it may be exhaust related; but I’m not even sure he loaded it up enough to hear the sound.
A loose cat heat shield perhaps?
U-joints are easy to check for wear. One method is simply holding your foot down hard on the brake (with the engine running) and shift from reverse to drive and back again. If you feel and hear a loud clunk noise, you have a worn u-joint.
Another is to shut the engine off, put selector in Park (automatic) or neutral (with a standard), block the wheels front and back and crawl under the truck. (Hopefully you have left the Parking Brake released for this test)
Grab the driveshaft with both hands and try to move the u-joint up and down and from side to side.
Turning the driveshaft around and back won’t identify a worn u-joint but will tell you if there is excessive wear in the differentials. (I see after re-reading your post you already checked the rear diff) How about the front one?
Any chance what you’re hearing is a pre-ignition rattle and it’s actually coming from the engine itself?
At 120k miles it’s quite possible to have an EGR system fault; either a defective part or clogged EGR passageways.
This rattle will be most noticeable on a warmed up engine and when the vehicle is under a load.
When the EGR system is inoperative this allows the combustion chamber temps to climb and this will cause a rattle. Knock sensors and the ECM can only control this to a point. And it’s entirely possible to have an EGR system fault and not have any EGR codes present.
On the offchance the EGR passages are plugged up you could try running a can of SeaFoam through the intake manifold and it’s possible this could clean it up. (After using the SeaFoam there will be a moderate amount of smoke coming out of the exhaust pipes. This is normal and will clear itself up.) JMHO and hope it helps.
One area to check is the slip yoke of driveshaft where it’s inserted into the back of the transmission. GM trucks have a history of this slip yoke making noises on acceleration when they become dry. Remove the driveshaft from the transmission and lube up the splines in the driveshaft yoke with some molybdenum disulfide grease to see it gets rid of the noise.