99 1500 5.7 never-ending story
#11
Run a vacuum test on the engine. A healthy engine will pull 17-20 inches of vacuum. If it's low, you can have either a jumped timing chain or restricted exhaust. A partially plugged catalytic converter can cause this along with an internally rusted muffler or even rodent bedding. If the truck came from a farm before you got it, mice may have built a condo in the tailpipe.
Have a mechanic hook a mechanical vacuum gauge and see what the reading it. Both the vacuum pressure and how it acts. A flutter of the needle can mean one thing while a steady, but low reading will indicate your exhaust isn't flowing. Running with restricted exhaust will be like trying to pull a trailer with its brakes engaged. You can speed up, but it's slow and sluggish.