I have a 2003 5.3 Silverado with the same. " lt only overheats at idle when the ac is on" problem. But l believe l may have fixed mine for next to nothing. When l looked at the front of the radiator behind the AC condenser. I could see a mat of debris dead center in front of the fan and almost the same diameter. I took the fan shroud off and blew it out with compressed air. 1st straight down from between the radiator, & condenser. And the from the fan side of the radiator. Keep in mind my air supply is an 80 gallon volume at 140 psi blowing through a non osha approved sprayer with a 6" x 1/8" barrel. There was genuine need to be careful to not blow cooling fins flat, but when the air finally cleared. l took it for a test idle and it never did get over it's just under 200f normal running temp. Now the ambient temp was only 90 f by then but that had been hot enough to cause the problem in the past.