Why does the one axis change in this situation?

Let’s say your camera is set up so that its rotation is 0,0,0. Set the viewport to camera view. Grab an object. According to the x/y/z axes indicator in the lower left corner of the viewport, you should only be able to move the object on the x or y axis. However, if you move the object far enough in any direction, you will see a change in the z axis value.

Why does this happen? Is it some sort of rounding error? Theoretically, the object’s z axis position should never change in this circumstance.

(Yes, I know the correct way to do this is to grab an object and then press shift+z so the object is constrained to just the x and y axes, but I’m still curious as to why this behavior occurs.)

FWIW, it makes no difference if your viewport is in orthographic or perspective mode. If the viewport is facing in such a way where the third axis is not seen, moving an object far in one direction will eventually result in a change in that third, unseen axis.

Any ideas?

that’s really strange. i even can reproduce this without the camera but just in front view. no idea why this happens.
videoproof: