The thermostat sets the minimum temp the engine will run at. It forces the fluid to stay in the block until it hits that temp. Ideally you want the engine to run hot enough to cook out any condensation in the block. Condensation mixes with the Sulphur in the oil and forms H2SO4 Sulfuric acid, which breaks down the oil and erodes the metals in the engine.
There is a temperature at which an engine without a thermostat will reach equilibrium. Ideally, this temp will be less than the thermostat temp, and the thermostat will regulate the flow to keep the coolant temp at the thermostat temp. If the equilibrium temp is above the thermostat temp, the thermostat will have no impact on the temp. That is why putting a 160 degree thermostat in will not keep the cooling system from boiling over.
The only way a thermostat will cause a boil over is if it fails in the closed position. Ideally you should always run a "fail safe" thermostat. A fail safe thermostat normally fails by sticking open, not closed.
Over heating is normally caused by something causing the engine to generate too much heat, or the radiator isn't getting rid of the heat.
Common causes of over heating are
(1) plugged CAT
(2) running too lean (low fuel pressure, clogged injectors, vacuum leak)
(3) timing advanced too much (normally not the case since the ECU controls the timing
(4) Detonation/ping caused by too low octane fuel, running too lean, carbon buildup.
(5) Low coolant level (radiator leak, old worn out radiator cap (common))
(6) Clogged radiator (fluid)
(7) Clogged radiator (external)blocked air path