In a normal case, milliseconds might be 60, in which case there is 6% chance the entity will despawn. After 1 seconds this function will have been called 16 times, each with a chance of 6% giving a decent chance that the entity will have despawned after 1 second, thats all good and fine, but consider this case: We are running on a computer that has suddenly come under heavy load and we are only running 1 fps. So in one second the update method will be called once and milliseconds will be 1000, giving a 100% chance to despawn the entity after 1 second. There shouldn't be a disconnect here!