That sounds normal. The default memory allocator is very happy about holding on to memory rather than giving it back to the OS because doing so is generally faster. However it means that the memory usage does not go back down according to system monitors.
The memory should be reused if you try doing it twice.
Rust doesnt protect from memory leak, thats why a leak its still a possibility
Valgrind used to require you to change the allocator to work correctly, I dont know if this have changed, but I used it recently with the default allocator and it did deetect the leak correctly , so some reasarch might be needed if you're going to use it