The short answer is a blown head gasket, the leak is between a cylinder valve cavity and the main water jacket so compression gas is getting into the cooling system popping the pressure cap before the boiling point is reached. The gasket leak needs 100 PSI to push compression gas through and the cooling system is only 13-15 PSI. When you first start the engine cold with the radiator cap off, you should see a smoky fog coming out of the radiator before the thermostat opens. Watch it for a few cycles of the thermostat and you will see the fog if it has a blown head gasket.
Could be whomever installed the thermostat installed it upside down so instead of opening and allowing coolant to flow it blocks the flow of coolant, hence the overheating.
Start the vehicle and bring it up to operating temperature. With the engine still running, carefully open the hood and look for leaks. With a leak of that magnitude, it should be easy to spot. Loosing the heater when idling is directly related to not enough coolant in the system.
Check filler cap is correct pressure. Check for water in oil and oil on water that may signify a failed head gasket.
Have we checked flow rate? If we have restricted flow this will greatly affect cooling issues check fuel air mix as both too lean/ wrong mix and wrong timing can add to this issue. Is air filter for example ok.
I have a 2000 excursion 5.4 I have put a new thermostat, water pump, had the radiator flash, had a pressure test done, heater core flash and radiator and heater core back flash. I am still losing antifreeze the truck will over heat I will open up hood and its all over my battery like it was Blowout the overflow. I will let truck cool down and it will take 2 1/2 gallons of antifreeze. I also want to add that when I have heat and stop at red light the heat will get cold but when I start going my heat gets hot again.