These notes supplement Mika's video. Go watch it!
A look through decompiled code suggests the code that throws this exception is present (with the same error message) since at least Alpha 1.1.2 (the oldest version that happens to be in my decompiler repository), suggesting Notch wrote it.
The optimal chunk loading pattern is for the chunk to load on even ticks and unload on odd ticks ("unknown" chunk tickets caused by block updates last one tick, so this is the max). For this to happen, the chunk has to have completely finished loading in the first tick so that it can be unloaded in the second. This is made challenging in modern versions since Mojang moved entity loading to a background thread, so the complete loading of a chunk can take theoretically any amount of time - since it isn't synced with the main thread there is no way to know when it's completely finished. This means the optimal entity count depends on your exact server
