From someone that fixed it with a plugin, but an actual fix would be appreciated:
"The engine provides a function to cause an entity to drop to the ground, it's called something like UTIL_DropToFloor. Anyway the plugin executes when a player dies and it searches for weapons near them and calls UTIL_DropToFloor on those weapons. Pretty simple patch. Same code could be done on the game itself, but a better solution would be to add some sort of collision to the weapons so they can't get stuck inside each other in the first place."