Hello WhiteThunder, I've been requested by others to ask if you could interface with this plugin DropStopper:
https://codefling.com/plugins/drop-stopper
It was recently updated with API calls to stop dropped backpacks from glitching through the ground. Glitching backpacks is not your plugin's fault, it is a FacePunch collision issue.
The code should be called here if you decide you want to add it:
public DroppedItemContainer Drop(Vector3 position, List<DroppedItemContainer> collect = null)
{
...
#if DEBUG_DROP_ON_DEATH
LogWarning($"[DEBUG_DROP_ON_DEATH] [Player {OwnerIdString}] Backpack dropped.");
#endif
if (Plugin != null && Plugin.DropStopper != null && firstContainer != null)
{
Plugin.DropStopper.Call("API_AddDroppedItemContainerToDropStop", OwnerId, firstContainer);
}
return firstContainer;
}