I suggest this is a result of not capping the frame time in your simulation. This appears to happen very regularly on low-end machines, and is often described as being associated with frame rate spikes. (Probably a result of a garbage collection.) With an uncapped frame time, the wall clock time delta is larger than the block placement threshold, even though the simulation was non-interactive during the delta.
This should be fixable by either capping the frame time, or resetting the block placement time when a large frame time is detected.
This is more of a development issue than a debugging issue. The changes I mentioned can only be made from source code.