Utilização da ram
Caso seja apenas um servidor, não será uma rede, é mais fácil de definir quanto precisará. Em qualquer versão acima da 1.13 o consenso geral é o mínimo de 4GB de ram, com o recomendado sendo 6GB de ram. Isto por causa de algo chamado "The Flattering" e as grandes mudanças que a mojang apresentou nas versões 1.13 e 1.14
Agora sendo uma network, precisará contar e somar de todos os servidores, mas não superestime quanto precisará.
O proxy não fará muito uso de ram, limite para 1GB inicialmente
Os lobbies também não farão, 2GB servirá sem problemas
Backend dependerá do que for, mas abaixo da 1.13 4GB pode servir, e acima busque por 6GB no mínimo.
Observação: Esses valores não servirão para todos, estão aqui apenas como uma base. Recomenda-se primeiro testar com um valor baixo e ir aumentando conforme necessário.
Garbage collector
O seu servidor tem algo chamado "Garbage Collector", que basicamente "limpa" a ram de recursos não mais utilizados periodicamente, fazendo isso a cada alguns segundos, entretanto, ele só vai ser ativado quando atingir o limite de RAM que lhe foi alocado, e essa RAM não será retornada para o sistema.
A JVM não retorna memória não utilizada ao sistema operacional. Isso é intencional, e se você observasse o uso de RAM do seu servidor a partir de um monitor do sistema ou pelo painel de sua hospedagem, você o veria subir continuamente até atingir a quantidade máxima de RAM que pode ser usada (o valor da flag Xmx). Portanto, nem toda a RAM mostrada como "usada" pelos monitores do sistema está realmente sendo usada, e grande parte dela geralmente fica parada esperando que o servidor a utilize.
Atualizado