Rotate() having issues that rotateLocal() doesn't

I have a super simple script that slowly rotates an object. It’s this single line of code in update():
this.entity.rotate(dt * 5, dt * 6, dt * 7);

The rotation “jitters” occasionally, every 20s or so. But if I change rotate() to rotateLocal() the problem goes away, even if the object doesn’t have a parent. The issue appears at the same rotation every time so it’s obviously tied to a certain combination of angles.
Here’s my test project, it’s completely empty except for two rotating cubes. Hit play and wait a few seconds. What’s going on?