After reading <a href="http://www.python.org/doc/faq/general/#how-does-python-manage-memory">http://www.python.org/doc/faq/general/#how-does-python-manage-memory</a>, I tried modifying this program as below:<br><br><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
a=[]<br>for i in xrange(33,127):<br> for j in xrange(33,127): <br>  for k in xrange(33,127):<br>   for l in xrange(33, 127):<br>    a.append(chr(i)+chr(j)+chr(k)+chr(l))</blockquote><div><br><pre class="literal-block">import sys
<br>sys.exc_clear()<br>sys.exc_traceback = sys.last_traceback = None</pre></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">del(a)<br>import gc
<br>gc.collect()</blockquote><div><br>And it still never frees up its memory.<br></div><br></div>