I think you've made my point for me. If moral lines are easy enough to move that people will "shovel Jews into gas ovens and pull out people's fingernails," it's not hard to find people more than glad to cross class lines to enforce laws, whether those laws are just or corrupt (and most laws are in the middle).
At the core, there are few or no internal "Do Not Cross" moral lines. Moral lines are first culturally-situated, and second, individually-situated.
Incentive structures set by the ruling class drive a huge part of culture. Media does too. There are a lot of tools to manipulate culture, and they're actively (and increasingly scientifically) used. At the end of a Roman Triumph -- a big celebration -- captured war prisoners would be strangled in front of an audience. In that culture, that was okay.
From there, you need to find just a few people, either divided, disgruntled, or of low moral character. If I want to keep poor Southern whites in-line in 1870, I can find blacks who hate them. If I want to keep poor Southern blacks in-line, I find poor Southern whites. There, we had a nice 50/50 split, but there will always be a few.
The expectation that "it's the turncoats fault" isn't a productive one. You need to fix systems, not individuals (with incentive structures around individuals are part of systems, of course).