I’ve been fighting a no heat or low heat problem every since I bought my used truck (3 months) but solved it this weekend. I could drive the truck 20 miles and the heat would barely be warm but the temp gauge would be normal. I took it back to the dealer and they removed a flush kit that the former owner had installed in the hose to the heater. I would have heat one time and the next 4 times no heat. Strange thing was that when I had no heat the hose to the heater would be hot but the return hose would only be warm. I changed the stat and this didn’t help. I blew air through the heater core when I changed the stat and the core seemed to be open. I removed the hoses to the heater this weekend and flushed them 5-6 times with the garden hose and air compressor. The first 2-3 times I got big flakes out of the core. I assume when the flush kit was installed it disturbed the built-up on the inside of the hoses and this scale got stuck in the core. My anti-freeze looked like it was just changed and I could see down in the radiator 4-5 inches and it was clear. The radiator looked brand new, so I couldn't see how there could be a blockage but there was. I can drive 3 miles now and have all the heat I want. I have bought new antifreeze and some radiator flush and will flush the entire system in the next couple of weeks. By the way, the antifreeze is Dexcool and I will be sticking with this. I’ve used this in my Corvette for 5 years without any problems, I just change it every 2 years as the vette only gets 1K-2K miles a year on it.