Thank you, an excellent explanation of how to use the JVM tooling! Also demonstrates why you shouldn't use certain functions, like clojure.core/memoize, in production.
The core.memoize[1] core library (not the clojure.core/memoize function) allows you to specify a core.cache eviction policy (e.g. LRU and others, which is fine for production use.