I'm seeing a couple of possibilities here in addition to the T-stat mentioned by Texases, one simple and one serious.
The radiator cap should hold the hot coolant in until it reaches a specific pressure, typically about 15-16psi, and only then allow it to flow into the reservoir. It does this because pressurized fluid boils at a higher temperature than unpressurized fluid. If the radiator cap is defective and allowing the fluid to freely run into the reservoire as it expands, it will boil over.
Now, the bad news. If you have a headgasket leak, and based on the engine's history you might, then two things will happen.
The first is that with every combustion in the cylinder where the breech is, hot combustion gasses (up to perhaps 2500 degrees F) will be blown into the water jacket, heating the coolant beyond the ability of the cooling system to dissipate it.
The second is that every time the piston goes down for the intake stroke it'll pull coolant through the headgasket breech and into the cylinder, where it'l be turned to steam and blown out the exhaust.
You can see where a headgasket breech will not only cause overheating but also severe loss of coolant.
Fortunately, there is a definitive test for a headgasket leak. It's called a "pressure leakdown test". The cylinder is pressurized with a setup with a valve and a gage and checked to see if it holds pressure. If the headgasket has a hole, it won't. There are other more simple ways, such as if the cooling system is full and the engine is running and bubbles are coming up out the radiator cap, those will be the combustion gasses migrating up to the system high point and bubbling out.
Your mechanic should know all this stuff. Perhaps the first thing you should consider replacing is your mechanic.