I have had my cars head gasket fixed
and a new expansion tank. I have no
leaks and coolant is full but my car
still over heats. This happens at slow
speeds but at high speed the car is
Could it be the fan
Next time your engine is running hot, pop the hood and see if the fan is running. If not, problem could be a fan, fan relay, fan controller, or engine coolant temp sensor. PS kinda surprised a shop doing that much work wouldn't have noticed it was running hot during a test run.
I would take it back to where the work was done, these cars don't like overheat and damage can happen very quickly even if you just had work done. It only takes one wire disconnected to cause major problems.
If you've had this much work done and it's still overheating, take it back to the shop! It likely could be the engine fan not working. Mine just went myself. Pop the hood, turn on the AC and see if the engine fan is running. Don't drive while overheating though! You are taking a big risk by doing so.