He ended it🥺 (sorry if it’s a bit long)

So me and my ex have been on/off since 2018. Long story short he basically cheated on me with his ex for the 1st year of our relationship and I found out after she contacted me. He told me he ended it with her and I ended up staying. Turns out she was still in the picture and fast forward to now, they have a 5 month old baby. When he got her pregnant last year, me and him were not dealing with each other and had no contact for months until we did...we talked about working things out then a few months later I found out about the girl being pregnant from his mom’s Facebook..I was heartbroken. He told me it was a slip up and that they weren’t together but they are keeping it. So my trust for him has been so weak throughout all these events but I loved him sooooo much that I was willing to make things work as long as he was being honest. We are not officially together but he says we will be soon when the time is right and he says he wants to marry me yet we have sex very often and do relationship things except dates..we never go on dates, he’s always saying how broke he is and makes a bunch of empty promises

So last week I ended it on thanksgiving after seeing his baby mother posting things insinuating that they were together for the holidays after he made it seem like they weren’t. So I ended it but he managed to contact me 3 days later telling me he loves me, he’s sorry and he wants to do better and that we’re gonna work on everything, silly me I fell for it. 2 nights ago we were on the way to ihop and I had my hair in a bun and while driving he literally just yanks my hair until it’s completely out the bun and I guess he did it to be funny but I didn’t find it funny so I was upset and when I asked why he did that he said “because I can”, the tension for the rest of the night was intense. Today we got into it because I told him I might go to the mall for some Christmas shopping and he said he would join me but only if we met there, that he wasn’t picking me up. I have a car but it’s currently down due to engine issues so I’ve been working my ass off to get the money to fix it but my independence and freedom has been limited a bit and it honestly makes me feel shitty and I’ve opened up to him about that and he gave me words of encouragement but today he made me feel terrible about it calling me a child, saying I don’t bring anything to the table, and that he gives more than he receives and that I only buy food. It hurt to hear this bc I try and I’ve been trying for 2 years and he keeps saying I’m too sensitive but no matter what it’s like I’m never good enough while he’s far from perfect but I’ve still been here willing to try. Mind you, all these months my parents don’t even know that we’ve been seeing each other again bc they caught us in an intimate way last year and they’re not a big fan of him.

He said that I don’t compliment him or tell him that I love him and that I only say it in response to when he says it, which is true bc when I use to express my emotions and try to show affection he would later throw it in my face that I’m not his girl so I felt like I shouldn’t be saying these things even though it’s how I feel. Basically he told me that this is too exhausting for him and that he’s good and he wants to call it quits because he’s the one putting in all the work. It really hurt because I love him and I really wanted us to work but he doesn’t try to resolve the damage that’s been done yet he acts like I’m at fault for every issue. I told him I respected his decision but I feel so sad now and so hurt but I know I deserve better. Should I just let it go?