Characters aren't always cleanly cut into heroes and villains. They shouldn't be, and the best characters aren't. The best characters have both a positive side and a negative side. The best characters can be, in turn, sinister or heroic. This is human nature. This is what makes a good character. Someone with a surprising side to them. Someone with a flaw, or, preferably, several flaws, who can go through a character arc.

I don't agree with saying "this character flaw is going too far!" There's no such thing. If it happens in real life (it does) then it can happen in a character. If you don't like it personally, that's fine. But in writing, this is the textbook definition of good character design.

Avoiding the darker aspects of human nature makes for very poor characters and very poor stories.