OK, so far I've replaced:
Water pump
Temp switch/sender to the Temp gauge
Installed 180 thermostat
Temp sensor(the one that goes to PCM/ECU)
Coolant flush.
The temp gauge sits around
M in NORMAL when the car warms up after 10-15 minutes or is moving on the highway.
Then, if I'm in stop and go traffic, the gauge eventually goes to
L or even to the line after
L before the Red.
(I've checked the coolant when the temp gauge is at this level/indication and it's not boiling and the tank feels hot but normal.
Also, the coolant level doesn't change in the coolant resevoir tank and oil is not milky in anyway.)
The low speed fan kicks on when the temp gauge reads at the line after
L from time to time but the gauge never goes back down to
M until I start cruising again.
The gauge never goes to Red.
The heater blows hot air like no tomorrow and I can cool down the engine a little more by turning on the AC to activate the high speed fan.
I think I have a flaky temp gauge since the fan does kick on but hanging around the line after
L kind of bothers me.
1.
How many people have their temp gauge read high like that but consider it a normal reading ?
Any suggestions, clues, hints or advise is welcomed.

thanks.