hanging heavy on the rein on one side is most very likely to be due to stiffness in his body. You may have him "yield" from one side to the other, but if he moves his hind or fore over while holding that stiffness in his body, then nothing is really changed. Kind of like a man with a stiff neck can turn and look side to side by turning his whole upper body; the movement gets done, but the stiffness never gets "broken up".
A lot of times stiffness in the poll is due to stiffness in the pelvis/back. If you can get some softness in the poll, it helps but you need to eventually get the horse to loosen up his hind area.
Just pulling his head to one side, then the other will not do this, especially if he rotates his neck (just BEHIND the first two neck vertebrae , that make up the "poll") to lift his chin up to one side and put's a "twist" in his neck as he reaches around to each side in the "flexions".
It is his poll that you need to loosen up, and the two joints that are right behind the skull and make up the poll; the Atlas and the Axis. These joints can ONLY move the skull up and down (like a "nodding" motion) or side to side , like how the horse will tuck his jowls into the side of his neck and turn his skull to one side just enough for you to see his eye on that side, from the saddle. HIs long head must stay vertical; not twisted so the chin comes up toward the rider.
These motions will loosen up the poll, and loosening the poll will help to loosen the hind end .
Consider working toward these motions when you do a disengagement, not just pulling the hrose's mouth around to your knee, with his head all twisted to the side.