I'd say the problem is that you haven't issued an ultimatum. You'd like her to choose exclusivity with you, but she wants to date.
You've got a number of choices, but you're making the wishy-washiest choice available. She won't give you what you want. Instead of leaving, and instead of speaking up for what you want, you're hanging on hoping she'll change and complaining - apparently to yourself.
My reco, in addition to therapy, is to change your relationship: either end it, because it doesn't serve you, or get comfortable with your GF's desire to be non-exclusive. If she's not ready to commit, she's not ready.
But accept that you're in this relationship and this angst because you choose to be. She betrayed you, and you've accepted her betrayal. The betrayal is on her, but taking her back without requiring change is on you. But she gets to choose to change or not; you can't control her. What you can do is respond to her - if she changes, great - you go on together for a while. If she doesn't change, great - you split.
You're free to go. You're free to stickaround in the hope that she'll decide to stop wanting to date anyone but you. You're free to beat yourself up for staying, but life for both of you will be better if you stop doing that.
I know it's harder to take advice like this than to give it.
In my own case, I wanted exclusivity with my W2b for months before actually making my desire explicit. The months of wanting and being afraid she didn't were agony. I persisted and got what I wanted. A few years earlier, though, I persisted and got dumped. My self-esteem was very low all through that period.
As Bigger wrote, lots of relationships just don't workout, and it's no one's fault. But I'd add that each partner is responsible for themself, and they have to act in their own self-interest. Each partner needs to do their best - and absolutely not try to control the outcome.
fBH (me) - on d-day: 66, Married 43, together 45, same sex ap
d-day - 12/22/2010 Recover'd and R'ed
You don't have to like your boundaries. You just have to set and enforce them.