It could be something as simple as air trapped in the system. Another issue I've seen personally on a BMW E36 was that the viscous coupling to which the radiator fan is attached failed and the car would overheat when sat in traffic.
Make sure that when you fill the coolant system, you have the HVAC controls set to HOT and you "burp" the system. Typically allowing the car to idle cold with the radiator cap off whilst squeezing the bottom hose. Be careful not the overfill the system as this can also cause air locks.
If you're sure that the system is properly filled, checking the viscous coupling is working would be my next port of call. This link contains a pretty detailed how-to. I would say that this would probably show up on the temp gauge.