It is because you don't have a full spritesheet for that NPC.
Look at the default sprites for your actors. All 4 rows x 3 columns are different poses for the same actor. Each row represents a different direction, and when you interact with the event, it turns to face you, so it selects the sprite from the appropriate row depending on where you're standing when you interact with it.
It looks strange on non-character sprites because you don't have the spritesheet formatted the same way. Each row and each column could have a completely different image, and not just a different version of the same sprite. But it doesn't change the behaviour of the event - when you interact with it, it's still going to choose an image from the appropriate row so it turns to face you.
To stop it, for "static" events that aren't using a spritesheet filled with a single character, just check the Direction Fix box.