I also had Limp Mode problems that got worse over a period of a week or two. P2104, P2111, & P2112. After reading quite a bit, I replaced the TPS but no better at all. Finally got so bad that as soon as I touched the throttle it would show the wrench and limp mode.
Had already cleaned the MFS and the ETB and they were very clean. Checked the connectors and wiring and everything seemed fine.
So read a bunch more and decided I was going to have to spend the money and get a new ETB next... But didn't want to spend that much money.
As a final option, I took the ETB drive apart and found the DC motor had very dirty armatures. It was tricky, but gently pulled the brushes back and put 600 grit sandpaper in front of them in a very tiny piece. Using the brushes, I pressed the sandpaper against the Armature gently and twisted and twisted the DC motor spindle. Took three pieces of sandpaper to get most of the black off the Armature. This was rather tedious and you have to be gentle. Also tricky to get it all back together, but after PCM reset, reassembly and starting the truck, and going through learning procedure, it ran perfect. Yay!
Just wanted to pass this on to those of you that know much more than I do. Hope it may help you understand why the error codes trip and the engine becomes useless.