Honey, you don't need to figure her out. You need to set your own bounderies with her. Can you have her leave today? I'm sure there is someone else who can help you. There are many good people around without putting up with that nonsense. And nonsense it is.

Yes, she has problems. But she will never deal with them until people say, "No, this is not acceptable." Consider throwing her out the kindest thing you could do for her, you and GD. If nothing else, think of the lessons your precious GD is learning from her. By showing your SD boundaries, you are letting GD know she will have them too. If you don't, well...

Energy and power and love to you!