Unload a module in Python
Python does not support unloading modules.
However, unless your program loads an unlimited number of modules over time, that's not the source of your memory leak. Modules are normally loaded once at start up and that's it. Your memory leak most likely lies elsewhere.
In the unlikely case that your program really does load an unlimited number of modules over time, you should probably redesign your program. ;-)
I'm not sure about Python, but in other languages, calling the equivalent of gc.collect()
does not release unused memory - it will only release that memory if/when the memory is actually needed.
Otherwise, it makes sense for Python to keep the modules in memory for the time being, in case they need to be loaded again.