title: Why does python's "gc.collect()" not work as expected?
body: <p>Here is my test code:</p>
  <pre><code>#! /usr/bin/python3
  import gc
  import ctypes
  
  name = &quot;a&quot; * 50
  name_id = id(name)
  del name
  gc.collect()
  print(ctypes.cast(name_id, ctypes.py_object).value)
  </code></pre>
  <p>output:</p>
  <pre><code>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  </code></pre>
  <p>In my opinion, <code>gc.collect()</code> should clean the variable <code>name</code> and it's value,<br />
  but why can I get value with <code>name_id</code> after <code>gc.collect()</code> ?</p>