Hello Ben;
You have quite a cluster there :)
Whenever you add/remove a member, partitions are migrated between members to rebalance the data distribution. During that it is important to make sure you don't have partitions very large. Considering you have roughly (55*22 GB) ~1.2TB of data, your partition size is currently (1.2TB/4001) ~300MB, which is considered larger than the best practice, it's suggested to keep partition sizes under 100MB, or around 50MB if possible. In order to do that, you can triple your current partition count at least. This would help on reducing the time consumed when sending a partition over the network.
Other than that, I'm guessing you might have some GC issues with a 22GB used heap, so I'd look at hazelcast logs or GC logs for any activity that might slow members down in general.
On the other hand Hazelcast has off-heap storage option in the enterprise version which can eliminate the GC concern.