You’ve invested time and effort to improve someone else’s life. That’s great – but it seems he would have been just as happy to stay where he was. Now you’re trying again to “improve” his life by trying to make him into something he’s not. He’s not motivated, he’s not eager to grow up. He’s not going to be a responsible partner. He is going to happily take all of the meals, all of the money, all of the care and he will never ever return an equal level of care or effort. Ever. He will give you the bare minimum because that’s who he is. I bet his mom cleans their house and he barely lifts a finger to keep things maintained.
You are always going to be pushing this guy up the hill, he is never going to change his stripes and suddenly understand that if he wants something he has to work for it. He’s never going to wake up one day and say “wow, she does so much for me, I’m going to be a responsible functional adult for her.” He’s going to expect you to carry him through the ups and downs because that’s what you’re doing now.
If he changed nothing about himself or his life would you stay? If no, then it’s time to MOA and find someone that you don’t have to “train”.