I've run plenty of JVM systems with nice memory footprints per user, especially on modern JVMs. Sure, it isn't the most memory efficient compared to C++, but that is also the least of my concerns when you compare it against:
1. A queue with rails worker processes.
2. A database.
3. An _ephemeral_ database (Redis)
3a. Times 2.
4. A rails API.
etc.
A JVM worker "not being memory efficient" is like Z on the cost list and trivial to lower costs on at small scale.