If you are able to test on Linux, Heaptrack and Bytehound are useful to investigate if you have allocations that aren't being freed (such as a cache or hash map that grows and never gets cleared). Even if you don't discover the specific issue you will most likely find other issues (needless allocations that could be optimised to reuse a buffer for example) and gain insight into how your program behaves.
If you are on another OS, there are probably similar tools, but I don't know what they would be. Generally you can use the same tools as you would for C or C++, but if the tool doesn't support demangling Rust symbols it might be a bit harder to parse the results.