You put @functools.lru_cache on a method to speed it up, and the service's memory keeps growing. Why, and which fix do you choose?
The cache lives on the class-level function and its keys include self, so every instance the method touches stays strongly referenced and is never collected; with maxsize=None or functools.cache that memory leak is unbounded. Cache per instance with cached_property or an instance dict, or cache plain values.