I can relate to the calling him a bum. I called my son a loser in a moment of extreme anger and I regretted it. This was on a day he spit in my face and tried to break my car door off. I didnt' speak to him for over a week. But when I finally did, I apologized. Even though calling him a loser was a true statement, I still felt terrible for saying it. I know he needs help.
There's a lot more to the story, of course, but I just wanted to say I understand how you feel.