Oi Yoshiriro, sobre o funcionamento do Grails, você está errado. Veja.
"1. Os .groovy são compilados para .class
2. Para .class gerados em Groovy funcionaram na JVM e necessário um JAR do Groovy *
3. O projeto é transformado "por baixo" em um projeto Spring *"
Este JAR do Groovy é o mesmo que outra biblioteca qualquer: são basicamente as bibliotecas base da linguagem, tal como ocorre com qualquer outra biblioteca.
O projeto não é também transformado em um projeto Spring, ele nasce como tal. Se formos levar este tipo de argumento em consideração, não usaríamos biblioteca alguma. E outro ponto importante: este .class que o Groovy gera é o mesmo que o do Java: se você analisar internamente vai observar que o que ocorre são a inclusão de algumas interfaces pelo compilador, coisas assim.
A comparação com o Spring Boot neste caso também é bastante complicada por que, apesar de hoje serem primos (Grails 3 é uma aplicação Spring Boot na realidade, não uma aplicação "transformada") seguem caminhos diferentes: o Grails "vanilla" é a solução "tudo em um", fullstack, que já vai vir com tudo pré-configurado e pronto para que você implemente aplicações nas quais a renderização é aquela padrão, já do lado servidor, enquanto que no caso do Spring Boot, o uso primário é na escrita de micro-serviços, que é inclusive uma das principais razões que justificou sua criação na época.
(entenda: não disse aqui que você programa errado, mas sim que os problemas que vejo relacionados a estes problemas de memória normalmente tem esta razão)
Sobre consumo de memória, o que quero dizer é que temos diversos casos aqui de aplicações em Grails executando em servidores bem modestos e com um número significativo de usuários dia, razão pela qual, do ponto de vista de consumo de memória, não é lá um grande problema. Bom: neste caso temos um case bacana aqui: uma aplicação que era feita em PHP (Laravel se não me engano) que consumia US$ 2000,00 mês na AWS e hoje, US$ 300,00 em um servidor que era metade (e temos diversos casos nesta direção aqui na Itexto). Mas aí vai além do que usamos para programar, entra muito a questão da arquitetura.
Sobre consumo de memória do lado desenvolvedor, concordo com você e, sinceramente, vou até um pouco além: é algo da JVM em si, e você raríssimas vezes consegue melhorar isto. Especialmente depois de ter feito a comparação com Node.js (eu mesmo tenho usado bastante Node e, neste ponto, acho que ele acaba com a JVM).
(quer uma exceção à regra? Apache Tapestry, mas este sim é um projeto que não tem sequer um roadmap garantido no futuro, ao contrário do Grails, mas consome pouquissima memória, é extremamente rápido no carregamento e a experiência de desenvolvimento parece um sonho perto do resto da JVM)
E pra finalizar, a mesma pergunta que te fiz antes, repito e respondo aqui: "o que você disse sobre o Grails, o fato de ser menos popular se comparado com as demais alternativas, não englobaria no mesmo conjunto todas as demais alternativas além do Spring e JEE que são o mainstream?"
Aqui vejo uma questão mais relacionada à formação que a tecnologia em si, e aqui vou ser genérico. Vejo duas linhas de formação hoje no Brasil: a da ciência de computação no seu estado puro, em que aprendemos os princípios da ciência propriamente dita, e que me permite uma visão mais global, me permite avaliar quais ferramentas adotar e com isto uma carreira até mesmo mais longeva. Vai ser mais difícil conseguir um emprego de forma imediata, saindo da faculdade, neste caminho? Sim: mas no médio e longo prazo se paga.
Na outra direção está a formação "voltada ao mercado de trabalho", na qual você vai focar nas tecnologias do momento. Você vai aprender então o Spring na faculdade quando for lidar com o backend e algo como Angular no Frontend (vejo muito isto nas faculdades aqui em BH, por exemplo). Este sujeito vai estar diante de uma comunidade maior, popular e com mais artigos escritos no momento? Sim. Consegue emprego mais rápido também? Com certeza. Sai da faculdade empregado. Mas aí entra a seguinte pergunta: e no médio prazo, na média, quem ganha? O primeiro, o da computação.
No caso da JVM hoje (e amanhã) o que será mainstream é o JEE e talvez o Spring (se o JEE não o engolir). Como alguém que lida com legados na JVM e outras plataformas (mas vou falar da JVM) sei bem como é lidar com um framework "legado". Apache Tapestry, por exemplo: ali sim temos um zumbi (sequer há um plano de desenvolvimento futuro). Entretanto, apesar de zumbi, deveria eu, me pondo no papel de jovem em início de carreira, ignorá-lo? Do ponto de vista imediatista, sim. Do ponto de vista de crescimento intelectual (que é o mais importante e que leva tempo), seria merda. Seguindo no mesmo exemplo (Tapestry), embarcamos recentemente na evolução de um legado feito nesta tecnologia (sem reescrevê-lo) e o crescimento intelectual que estamos tendo foi astronômico. Vimos soluções que não imaginávamos, topamos com um framework extremamente rápido (põe Grails no chinelo, idem o Spring Boot) para se desenvolver.
Sendo assim, pra resumir: "por que adotar uma tecnologia em queda de adoção?" - novamente a resposta deveria ser óbvia, mas vamos lá: por que você escolhe as suas ferramentas de acordo com o problema que tem pra resolver, não pra ser o mais popular ou estar entre os mais populares. Sim: eu sou um cara da computação, e cada dia mais velho, e já passei por várias escolhas baseadas em popularidade que no médio prazo se tornaram o que você chama de "legado".