Hi Red,
and the 2nd number is the total amount of living npcs in the world
My thoughts here. I've set the dead bodies despawn time very high.
I have in the past seen NPCs fall through the world particularly during chunk loading or if a player has a bad ping/connection.
The fact that there are more dead NPCs in the area than living NPCs in the world may indicate that the NPCs are dying, falling through the world, and then triggering a loop of NPC spawns and deaths. This in conjunction with the dead NPCs not being "garbage collected" would cause an NPC "memory leak". Big air quotes here.
I may be able to detect this via the API and delete the NPC.
I am thinking, onNPCDeathEvent, grab the y value, start a short timer, then check the y value again. If the y value is say for example -10 units down on the originally recorded y value on the event, we could make an assertion from this that the NPC has fallen through the world and then call the npc.delete() method to remove it?
Maybe this might work 