If it fixes itself, but then the problem comes back, I would start by looking at the wiring for broken or frayed wires or faulty sensors. An intermittent vacuumed leak will really screw up the computer, the sensors won't give the computer the information it is looking for, so the computer does the only thing it can, go to limp mode so you can get to the repair shop. Also, those computers monitor the systems based on the different voltage readings from each sensor, corrosion at a wire joint can really mess up the voltage reading to the computer, and when the computer doesn't see the numbers its designed to see, it goes into limp mode.

Without the codes your truck has, and not knowing what has or hasn't been done to your truck, the guys are just going to be guessing. The codes don't usually tell you what is wrong, they report the malfunction the computer records and points you towards where or what to look for. Gene