There is nothing wrong with you, there is only something wrong with him. Something he might not even know, but subconsciously he knows he’s holding you back, he knows you deserve a better life and you deserve more. He knows something he isn’t telling you, that’s why he’s letting you go.
He knows he hurt you, but he just doesn’t know how to make the hurt go away. He thinks he’s doing what’s best for the both of you, but you might not see that until the future after you’ve reestablished yourself. Or maybe you’ll never see it and continue to love him always, even through the pain.
All you can do is stay strong and stay true to yourself, let the moments of weakness in and allow them to break you down into a puddle of your own tears. Those moments of weakness and vulnerability will only make you stronger.
You can’t see it now and I’m sure you’re sick of hearing that things will get better, because right now it doesn’t feel like it, but they will. That doesn’t mean you still won’t miss him or that you’ll never think of him because you will. You’ll always remember him, but maybe you’ll forget what his kiss felt like or what his deodorant smelled like. Maybe you will forget the little things, but you probably won’t ever forget him completely and that’s okay.