I hate to say this, but it almost seems as though the two of you deserve each other.. From the first post that you had started with, you explained that the reason why she got mad at you is because you told her the truth about your regret. I have been in a relationship for a LONG time and one thing I have learned is: Don't always tell the truth when you know it hurts.. hahha.. So Sad... yet so true.. The last thing I want to hear from my bf is that his regret is meeting up with some girl. And believe me, every girl will react to that (not just your gf). But I am sure she will definitely get over with it though I doubt she won't forgive you for that regret you still have lingering..
Then the last post you stated that she has treated you harsh by calling out other men's name and talking on the phone with those guys for a long time while you are awaiting her return. But let me ask you this though, during the call, were the two of you talking? arguing? I have been on the phone with my bf for hours without even say one got dang word (however I still enjoy his presence of breathing on the other line). The only reason why she would call out other men's name is because she does it purposely to get you angry. Yes, it is wrong! Most women have tendencies to act irrationally and you have to understand that. Kinda like I know that if I ever left my bf, I will still end up with a man who still wants to go out drinking, never say hes sorry, and wear the pants in the relationship. It goes both ways.. the only way the two of you can solve this relationship if both of you just grow up. Relationship isnt a game in which if she gets mad at you, she calls out other guy's name. And when you are mad at her, dont think of doing anything dumb like using her as a "rebound"... that is worse than cheating because you actually planned it out.. if there is ONE THING that you have to be honest with, then it is your feelings for her.. Tell her exactly how you feel and believe me, she will understand. And when you tell her your feelings, dont say ANYTHING that would make her angry. Tell her YOUR TRUE feelings. Every relationship has something they hate about the other person, but dont express that part of it. Tell her how much she means to you but let her know how you feel which is the reason why you feel like leaving.
One more thing, you are focusing more on the CONS in this relationship than the Pros.. Why would you be with someone for 5 years and have more cons in the relationship??? Yes, you did list alot of cons on her, but to be honest, you have alot of good pros on there as well. If you ever let her go, would you be happier? Yes, she calls your family names, but you can tell her to stop or how you feel. Women likes to talk so if you open up, she will listen. Don't yell or get angry... TALK.. thats difficult for men to do comparable to women, but you have no idea how much communication means in a relationship.. it solves SOOOooo much problems.. And if she ever brings up a dumb question, always say something that you know will brighten her day (even if it means lying hahaha) cuz every question a girl asks is always a trap! hahah.. "Tell me one thing you regret in your past" You: "Oh gosh, my only regret would be not meeting you sooner." See thats the answer she wanted to hear and though it may not be true, believe me she will kiss butt.. I know this from experience.. hahaha..