i suspect more a hardware problem rather than programming problem. As i understand, when you remove the load on the PWM channel, everything disapear?

Bad or poor voltage regulation (or regulator), unsufficient PSU filtering is my bet as now.

I don't hink it will solve somethng but, how about using a higher sampling time in you A/D conversion?

Can you post your schematic?