Q:

Matplotlib doesn't release memory after savefig and close()

I have a piece of code that works fine looping once or twice but eventually it builds up memory.  I tried to locate the memory leakage with memory_profiler and this is the result:
row_nr    Memory_usage    Memory_diff    row_text
 470     52.699 MiB     0.000 MiB      ax.axis('off')
 471     167.504 MiB    114.805 MiB    fig.savefig('figname.png', dpi=600)
 472     167.504 MiB    0.000 MiB      fig.clf()
 473     109.711 MiB    -57.793 MiB    plt.close()
 474     109.711 MiB    0.000 MiB      gc.collect()`

I created the figure like this:
fig, ax = plt.subplots()
Any suggestion where the 109 - 52 = 57 MiB went? 
I am using python 3.3. 

A:

# Clear the current axes. 
plt.cla() 
# Clear the current figure. 
plt.clf() 
# Closes all the figure windows. 
plt.close('all')

Hope this can help you

A:

plt.ioff() worked for me in notebook
plt.close(fig) otherwise

