Got it! The problem is, by using Move at angle, you are not guaranteed nice integer Player position values. If you dump the player coordinate, you see they are not always even multiples of 32. As a quick fix, do:
Every tick -> Set Player position to round(Player.X), round(Player.Y)