It takes two to tango mate, she can't lean/pull if you don't give her anything to lean into :) Also bare in mind, usually a horse that leans into the contact is a horse that is on the forehand - it is wanting you to hold it's head up as it is not in self carriage.
As soon as she tries to take a hold, put your leg on, hold your core to steady her, and give a couple of rein squeezes on alternating sides in quick succession. You may need to repeat this every 2 or 3 strides to start with but they start to work out that it's easier not to lean.
And no I'm not talking out of my backside, I've experienced plenty of forehandy horses that think it's ok for their rider to hold them up. The mare that I am currently competing is the same, she was evented before her current owner purchased her for dressage, and unfortunately the event rider she had would drive her so far onto the forehand that often she would run through jumps and nearly fall over. So now, it's a job and a half to try and get her confident enough to hold herself up and convince her that she's not going to fall over in the process.
I use multiple transitions between and within paces, spiralling in/out of a circle, serpentines, loops, rein back, leg yield on a circle (1/4's OR forehand in depending on how she's feeling) and shoulder in. Each ride I am correcting her initially once every 2-3 strides, and when she has warmed up and started to shift to her hindquarters, she starts to lighten her forehand and become less dependant on me holding her up, so that the corrections only need to happen once every 10 or so strides.