@Bloodyredface
If you have a pattern of behaviour which is hurting others, its a good thing that you look at your behaviour and start to reflect that you might be a bad person and feel shame. You can still change, and decide to behave differently and become a good person.
You are equating the person with their behaviour.
I absolutely agree that you want people to look at harmful behaviours and change them.
But feeling shame , aka believing "I am a bad person" does not help anyone change any behaviours. It makes them feel threatened and defensive, which is the opposite of what you need for growth and change.
Plus, the whole key to identity thinking is that it isn't changeable in that way.
E.g. if your identity is I am poor/stupid/unlovable/a smoker/whatever, then you accept that as an immutable fact and believe it cannot change. So you will likely not even try.
Whereas if you say "currently I don't have much money/need more education/need better social skills/have a tobacco addiction", then the framing shifts to it being something that you can change and have agency over.
We understand that about fat-shaming, self-harm behaviours, many other things. But then somehow think that shame is going to be effective in a different context, eg selfishness.
The person will still be the same person (identity) afterwards, they will just (hopefully) be a person who doesn't engage in those harmful behaviours anymore.
Your example person was simply not taking responsibility for his actions - the "out of character" line - so of course he's not going to change because he's not feeling responsible. He's considering his actions as something inexplicable and external to himself to create psychological distance.
But that is a different issue and I don't believe that if he had (admitted he) felt shame he would have been any more likely to change. I suspect in fact that the "out of character" line is because he did in fact feel bad (in himself, ie shame) for his actions and was therefore using that distance to dissociate from behaviours he wasn't proud of.