Almost all players get timed out during world saves

My 1.8.9 world is currently ~70gb. Whenever the world saves, either the server freezes for half a minute or it times out almost all players. Could this have to do with the fact that it is constantly using up 100% of the ram (20gb) I allocate it?

Here’s what it gives me:

[18:13:31] [User Authenticator #1017/INFO]: UUID of player censored is a4s34d0-c988-48c5-32ea-e2b46sijcenob4
[18:13:31] [User Authenticator #1018/INFO]: UUID of player censored is ce4se4c-17dd-46f2-a8d2-68685725941d
for almost every player on server
[18:14:04] [Server thread/WARN]: Can’t keep up! Did the system time change, or is the server overloaded? Running 33662ms behind, skipping 673 tick(s)

Also this being spammed

[19:18:38] [Server thread/WARN]: handleDisconnection() called twice

Update: Changing the save intervals to 10 seconds seems to solve it, but now it’ll have random episodes of timing out 3-5 times in a row. Not sure what’s going on

Update: Timings Report link
It appears that block update and chunk populate are the culprit of the time outs… But most of my world is already pre-genned and the timeouts even happen with less than 10 players on, none exploring.

There are heaps of improvements in Sponge 5.0.0+, including more accurate chunk unloading, which is why your saves take time, as well as the obvious fact that your world is huge

Yup my plan is to upgrade sooner or later to 1.10.2 but any suggestions for the time being? It doesn’t seem right to me for the time outs to be that bad with 20gb ram and ssd handling max 30 players