have the coolant fan checked, it may not be coming on intermittently causing this problem,
it could be a connection issue or a faulty coolant temp sensor.
I would suspect blockage in the engine it self, get the entire engine and coolant system flushed it's best to use a garden hose for this. remove both upper and radiator hoses, insert a garden hose in the upper radiator hose and run the engine and the water run through the engine and come out of the lower hose. let this run for some time. then reinstall everything and fill the system with 50/50 mixture.