Primeiro de tudo, você pode mudar "swappiness" - quão ansioso é o seu sistema operacional para usar swap - usando este one-liner:
sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf"
Por que o sistema operacional não bloqueia o servidor X, a resposta é simples: é apenas o caso de uso. Veja, se eu estou computando algo com o meu script, eu quero que seja o mais rápido possível (e termine o mais rápido possível) - preservar programas desnecessários na memória significaria que é o meu programa que tem que usar swap, tornando muitos ordens de grandeza mais lentas.
Muitos usuários que executam esses scripts com muita memória não usam X ou não se importam com eles, porque deixam seus PCs em paz.
tl: dr: é uma decisão de design complexa e a solução atual é provavelmente a melhor.