As long as you have a properly filled cooling system with no leaks, blockages or air in the system and a working pump etc, then the problem can only be the thermostat or (less likely) the fan.
The way to find out is simple, does the car overheat under normal driving conditions? (i.e doing the speed limit in a high gear under normal load.) If yes, then it's your thermostat not opening correctly or at all. (Prices range from £15 to £80 depending on your model, with extra on top if having it fitted of course.)
If the car only overheats while stationary for a long period of time, or at high revs/ load and/or high speed/ambient temperature, then it is the fan that is the problem.
The fan only ever comes on once the conditions are such that the coolant alone can no longer dissipate the thermal energy required through the radiator with the current amount of airflow it is getting, with the thermostat in its fully open state. Therefore the car would overheat under these conditions if the fan was not functioning.
Let us know how you get on.