You are responsible for a Java backend that powers a latency-sensitive production service. Over the last week, heap usage has steadily climbed until the JVM starts spending most of its time in garbage collection, and a few pods have been killed by the OOM killer. You have access to JVM metrics, thread dumps, and application logs, but you cannot take the service down for a long maintenance window.