Why is he behaving this way? Please help

My boyfriend (M 17) and I (F 17) have been dating for over 2 years now. But there is an issue with his ex (that we go to school with).

When he was 15, he was dating a girl for 2 months. I was his friend, so he often came to me with their relationship issues for help. She was often really mean to him, blamed him for everything, always yelled at him and put him down, etc. He tried his hardest to believe she was a kind human, but she wasn’t. He broke up with her for me, and she was furious- she began calling him and me nasty names. They haven’t talked since (this was almost 3 years ago, and they only dated for 2 months).

Since then, my boyfriend has been bullying her in the halls (laughing and mocking her), trying to warn her boyfriend about her (her and her boyfriend have a happy and healthy relationship of almost 2 years now, though- she changed and went to therapy and treats him well now). He is always staring at her making fun of her or with an angry look on his face. He hates her guts.

Why does he continue to harass her when she’s in a different relationship? If she’s around, he can’t help but try to make her mad/jealous/sad and likes seeing her upset because of him. In class, he stares at her for hours with an annoyed look on his face and doesn’t look away unless someone talks to him. And then, he goes right back to staring with an annoyed expression. He can’t stand to see her. She has done nothing to him since, and he keeps trying to hurt her and I don’t understand why he is being so vindictive.

Also, he makes fun of her but not in a teasing way, he is cruel about it and likes seeing her get sad. And I don’t think he likes her because recently she has been going through a rough time and she stopped putting effort into her appearance and she tends to smell

sometimes