This is an extremely common problem with mothers-in-law! You're right that she doesn't want to lose her son. It could be subconscious really. She may not realize what she is doing.
Your situation is worsened by her divorce and now, without a man in her life to take care of, she is turning to your husband. And, she is bitter about the divorce. Of course, if she knows you have a good relationship with her ex, she'll be more likely to find fault with you. In her mind, you've chosen sides--not hers.
What a pain she is.
Here is how to deal with it:
1. Whatever you do, do not add fuel to the fire. You really MUST continue to "bite your tongue." Consider it a good practice in humility and good character...Christian values...whatever. It does make you the better person not to lower yourself to her level. If you do nothing to make the situation bad, everyone around will see that. You will become a saint in the eyes of your husband, too. If you unload on her, she is still his mother and that will upset him. It will force him to choose sides. Don't let it come to that.
2. Sigh, breathe deeply and think of her as a silly, immature child.
3. Let your husband see her alone on occasion so she can do her smothering, mothering thing. He'll be glad to come home! Try to separate the behavior from the person. Continue to show love to her and ignore the bad behavior. If you must say something, say it nicely (and in front of your husband) like, "Now Nana, I love you but I don't like it when you make fat comments about me. It isn't nice." Just like you would talk to a child--or a senile old person!!! It really takes the ammunition out of the person when you're telling them you love them and when you use a sweet voice!
4. Remember that when you have a child, you will have to "hand over" your son to another woman and you will understand how hard it is to let go. Don't cut her out of your life or your own children will do that to you when they grow up and get married.
5. If she wants to clean when she comes down, let her. She may be cleaning what is already clean but so what? If you show you're upset, she'll do it all the more. Say, "Thanks! Can you do some laundry while you're at it?" She'll stop immediately! LOL. Just kidding.
6. About the gossiping behind your back: You can't stop her. Unfortunately. It is upsetting to know that strangers think poorly of you based on her unfair comments, but such is life. You can't change everything. You must let it go and hope that there is a just and fair God in heaven who levels out all things. The truth will come out if you ever meet these people and prove her wrong with your sweetness.
7. Keep your marriage strong so your husband will be supportive of you and your feelings. Never put him in the middle or vent to him about his awful family. You can tell him what's going on but keep out the blame, accusations or anger. You do NOT want to be the bad guy here. Be loving toward him. Then, let him know what you want when dealing with this woman and he'll back you up. Tell him, "I really want your mom to love me. I appreciate that she raised you. What else can I do to make her like me?" When he sees you are trying, believe me, he'll get on HER to treat you better!
Try not to lose sleep over this situation. Think of her as a poor old senile soul. Nothing to worry about. She's no threat to you or your marriage. She only visits occasionally.
Just be smart. And pray she finds a new man soon!