Your girl seems to have more issues than just her weight. The fact that she keeps talking about it, yet does nothing to solve it is a huge red flag. Btw, your weight is 70% what you eat, 15% your genes and 15% lifestyle/working out. So if she cannot control what she eats, she will never be able to take it off or (even harder) keep it off. Lack of self-control is a big no-no in my book. What happens next time she goes out to a party with her girls, she drinks too much, gets horny and a bunch of drunk frat boys try to hook up with her? scary scenario...
The fact that she put on 20 lbs is partially your fault: you should have stepped in a LONG time ago, as soon as you attraction level started plummeting, and tell her. You would have done her a favor and, putting aside her other issues, it might have saved the relationship. As it is, your relationship is pretty much doomed.
I guess the best way to handle such a situation is a sliding scale (exact numbers may vary depending on her body type and height):
2-3 pounds: if she is still active/works out and is not getting flabby just let it go, but be ready to intervene.
4-7 pounds: it's bothering you, so you start nagging her. If she presses you, you tell her in a serious tone that yes, you do think she needs to lose weight. No need to put too much pressure on her if you see that she is responding (by cleaning up her diet and starting to excercise), most girls get the hint since they are very aware of these kind of issues.
8-11 pounds: you lay down the law. You tell her in explicit terms that her weight has become an issue for you and she needs to clean up her act NOW.
12-15 pounds: ultimatum time. You make it clear to her that unless she takes active steps to correct her problem, you will break up with her because by now she is not attractive to you anymore.
over 15 pounds: Automatic NEXT. if you went through all the above steps and she keeps gaining weight, then you just have to let her go, it's not about the weight anymore, it's about her head.
Problem is, most guys don't have the balls to go through the first steps, hence they end up in the OP's situation...