You understand that your son needs to experience the real world and you don't let him come back home when life is hard. You make him and his girlfriend stay out in the cold hard world. You don't bail him out when the cops arrest him. If you find him drunk or stoned again, you call a cop to arrest him. You give him the real world so his adult tushie can deal with it like the adult he is. You don't baby him or bail him out or give him ANYTHING. You cancel his and his girlfriend's phones or just turn them off if that is cheaper for you because they are not paying for them. You certainly don't pay for them. You don't pay for ANYTHING for him.
After all, isn't he an ADULT? If he is an adult, he pays his own way. You clean out that car and you sell it for as much as you can get. If he left anything, a game system, a tv, anything, in your home, you sell it. He moved out and left stuff behind. Wait 30 days and say NOTHING to him about it. Then sell it FAST. I would use craigslist or something similar. Things go fast there. When he asks about it, tell him you don't know, you thought he took it with him. You don't have any of his things left, he took them all and you cleaned out anything he left behind after 30 days. He was just a tenant after all. He was an ADULT, wasn't he? Wasn't his girlfriend?
Don't cry, don't yell, just be calm and cool. No emotion when you say these things. Maybe he lost them when he moved. Don't let him in to look around. He doesn't need to be in yoru home. He will get mad and throw a fit. You and I both know he is NOT an adult, he is a spoiled baby. He will be furious that you had hte nerve to get rid of his stuff. And that you won't let him come back home. He will be irate that you cut off his phone and he has to pay bills somewhere, that his money can't all go to pot and fun stuff. But that is part of being an adult. Life is tough. Time he learned that. After all, he wants to be an adult.
You are doing him the best thing you can by teaching him this lesson. He won't thank you now, but he will later if he has any sense. You are making him grow up, rather than keeping him a little kid. Sure it is fun to be a kid, but he was on the road to addiction and jail or prison. He could still go there, but you are doing all you can to stop it. I know it is hard, but it is what you can do. He was also a total user. That needed to stop. No one likes a user. You need to stop being a doormat for him. Loving him doesn't mean being a doormat for him. He won't ever respect that.
Standing up will make him respect you and love you more. Trust me, I know. I had to stand up and move my son out of our home while he was a young teen, to stop him hurting his sibling, seriously harming them. He hated me for several years. That was okay. He is an adult now and we have a great relationship. He has a great relationship with his siblings also. You have to be tough with him now, so that he can grow up and come back to you as a man. A man that you can respect and love. It will hurt now, probably a lot. Don't let him see you cry. Cry in private. But then when he comes back you can rejoice with him. It will take time. But it will be well worth it.