May be good idea if you have a reader you can read live data on to see what you see when it starts running like this. So plug it in everytime you drive and if it starts pull over when can and see what you see on the live data. Maybe something is reading hot or can give you more of a clue. If your cooling seems to be working fine and you can tell the theromostat opening maybe is related to some temp sensor. I did have a similar issue I just fixed on my truck that ended up being a bad coil pack tower. Maybe when it gets hot it stops working right, which would explain your limp mode theory. I know you said you tested them but maybe try running it a while so it gets hot enough to possible have issues.
Just thinking out loud but hope it helps