Try a thermostat with a lower temperature rating. I think the one the tech installed in the 300E noted below was a 72 degree thermostat. In this part of Northern California it's very hot in the summer and the 300E (and now the TE), tended to act like it was going to overheat when idling for any period of time. The 300E no longer does that. It now belongs to a friend and he reports no problems. The TE does act squirrely sometimes - has the 87-degree thermostat, but not for long.
By contrast to the wandering temp gauges on the W124s, my straight-six E34's temperature gauge, once at operating temp, never moves. (Perhaps I'm being deceived by a faulty gauge or sender unit. The fuel gauges on E34s can be inaccurate. Mine certainly is.)
2003 Dodge Durango SLT
2002 BMW E39 530i Sport
1988 Mercedes 300TE
2003 Chevrolet Suburban