I have a grandson who was diagnosed with ADHD and Oppositional Defiant Disorder. And he's a lot like you describe your son. He's on meds, but every once in awhile, I guess when he comes down off the meds, he goes wild, over something that should be no problem. He acts out, he gets violent and he hurts whoever is around him. Once it's over, he is so embarrassed and ashamed of himself, and doesn't understand why he behaved that way and why he would do those things. He's 12 years old now but we first started dealing with him with this in pre-school. He was kicked out of every daycare center he was in. He threw chairs at teachers, pushed and shoved other kids, hit them, etc. It's been a trial.
When he finally got on medication at the age of 6, things improved a lot but we still have issues with him when he comes off his meds, when they quit or give out.
Again, this is in no way to makes excuses for the crimes GG committed, but it might explain some of his behaviors.