It's been my experience that XJ's just don't like extended idle, stuck in traffic or low speed crawling. Some factors that have made it worse in the past for me are trapped air and a partially plugged radiator.
Does your Aux. fan ever turn on? Mine turns on well before the gauge hits the red.
I put in a toggle switch, wired into the thermal switch (just jump the thermal switch) in the lower left of the radiator and turn on my Aux fan when crawling or sitting in traffic.
The top radiator hose is one of the high spots in the system, mine is fairly new and flexible. I crush the top hose a few times with the motor idling and this seems to move much of the air up to the coolant reservoir. It doesn't get all the trapped air moving, but does seem to help. The air eventually finds it's way to the surge tank (coolant reservoir) but the process can take days if not weeks. You can help the process along some by parking nose high and revving the engine.