God, reading that made me dizzy.TPS has nothing to do with Memory, the TPS is counted by how often the tick has been executed per second, which should be around 20 and 19.9. Memory usually does not affect the TPS as it has nothing to do with memory.
I'm not exactly sure how the rest of the world is doing this, but I always optimize things and try to develop most of the stuff for myself, I've worked on optimizations for a Factions Server with 500 players, they were running fine on 8GB allocated with a usage of around 6GB.
Allocating 32GB to a JVM will mess around with GC heavily, and that is not good at all. Also, you should really worry if you need 32GB to host 500 player instances. That's a lot and I've never seen anyone use that much. Its the same with people using 4GB for a BedWars server, the network I worked for had several 256MB BedWars instances, and those held around 30 players.
I also would not recommend most forks of Spigot as many devs don't know what they are doing, use Spigot or Paper 1.12.2, set it up properly to support 1.8 combat and optimize it.
16GB is probably the highest amount to allow allocations to.
