If you love him let him go, if he comes back he's yours. Tell him if he wants to be in the world go for it but he can't stay with you anymore. Take his house keys, make him pack his stuff, hug him goodbye, tell him you love him and to stay in touch when possible. But he's not allowed stay under you roof. Don't give him money. He'll probably just stay with a friend for 2-3 weeks, realize how much you've been doing for him. If he finds a hostel to stay in he will probably want to come one faster because they're terrible and dangerous. When dealing with someone who just won't listen to logic they generally want what they can't have and spend more time winging about not having freedom without actually thinking about what it actually means, like real world consequences, bills etc.
Just let him go, he'll come back. It sounds like you've been through a lot and it's time to do the unthinkable, but do it with love not hate. You all will be ok in the end