Agreed entirely. This sort of thing can turn into a vicious cycle in an instant; by forgiving him, the OP has almost certainly stopped that in its tracks.
However, I can't help but have concerns about the kid's future -- this sort of behavior over a long period screams mental illness -- and sincerely hope that counseling helps.
However, I can't help but have concerns about the kid's future -- this sort of behavior over a long period screams mental illness -- and sincerely hope that counseling helps.