I have been having trouble with this myself. And, after deciding to reconcile a relationship with a person who was important to me, have sought to learn "what is forgiveness, really? And, is forgetting possible?" I spent a few years asking questions like these and gathering information. I still don't have conclusive answers, but I am being reminded, by some others who have had this problem, that honest self-examination, a willingness to seek to understand others, and keeping an open mind can aid me in this process. Answers have started to come from different places since I starting trying to practice this. One example follows.
My SO and I are very different people. I cannot count the number of times I have gone through, in general, what you described. I was recently told by another INTP, who has gone through this with his SO, that the burden of accepting another person with all their flaws and mistakes will often lie with me, because it may be harder for our type to accept others who are different (or don't make sense), yet easier for our type than some others to come to acceptance because we tend to be interested in seeking to understand things. I don't mean to imply that it's easy. And, I don't want to say the repeated behavior your experiencing is identical to what I've experienced, either. But, it sounds like you are interested in what your part might be in the situation(s). I can only tell you what I'm finding out my part has been, to the extent that I am aware.
I just found out that I am INTP, additionally that my SO is ESFJ. So, after years of frustration, just coming to understand some of the differences in our personlities and how we gather information and make decisions has really helped me to get that, often, my SO just doesn't get "it" because of how I communicate things. My INTP friend suggested something like putting my requests and other important communications in a pretty package for delivery, because perhaps my SO does not understand how important certain things are to me, as the words I'm using are not easily understandable to my SO, or the way I say it is hard for my SO to accept. I'm still working on trying to understand the "pretty package" scenario, without it seeming like manipulation. But, my INTP friend AND my SO both assure me that it is not manipulation. And, right now, my friend is out of town, so I can't pick his brain. If anyone has any thoughts on this suggestion, feel free to message me. Thanks.
In the meantime, I err on the side of grace, in that I consider that my SO might not have understood me, might not appreciate the degree to which something bothers or is important to me, or has just forgotten. Believe me, over and over again scenarios happen all the time around here. If I flip it around, knowing that we operate differently, I can see how I have carelessly shrugged off things that are important to my SO, because they were/are irrelevant, not important, don't define life, or whatever for me.
This is a relationship that I choose, today, not to walk away from. However, I have walked away from many and for different reasons. It's not always a bad idea to choose to not be in relationship, at least that's what I think and have been told. Forgiving, I've been told, does not always have to do with continuing a relationship, either. Our type is suppose to be pretty good at detecting patterns. Perhaps, you could examine the various times you've walked away from said relationships and find another pattern somewhere. I don't know...just an idea, I won't even pretend I've done that, but now that I think of it...maybe I will. Anyway, that's all I've got for here.