Can I ask what year the vehicle is and also if you have a check engine light on?
Is the coolant level in the surge tank under the hood in the normal/mid range, is the temp gauge on your dash in the normal/mid range when the lack of heat occurs and also what is the general condition of the cooling system. Is there any debris or contamination in the tank?
I've seen many of them leak from the surge tank cap. The overflow is actually down the center of the surge tank. They've redesigned the cap a few times for not sealing properly. Generally you won't notice a leak as it's very small but you may want to replace that surge tank cap and also make sure there is no coolant over in the water pump area.
I hope you can accept my answer and let me know if you need further assistance.