title: How does Python.NET execute .NET code in Python? How does it collect garbage?
body: <p>How does <strong><a href="http://pythonnet.github.io/" rel="nofollow noreferrer">Python.NET</a></strong> execute .NET code in Python in same process? 
  How does garbage collection work in Python.NET? </p>
  
  <p>When we create an object whose type is defined in a C# library, does it live in Python runtime or CLR? Or 2 copies? How does garbage collection work in Python.NET ?</p>
  
  <p><pre></p>
  
  <code>import clr
  clr.AddReference('assembly name here')
  from DataViewerLibrary import PlotData 
  
  p = PlotData()
  p.Start()
  </code></pre>
  
  <p></p>
  
  <p>I want to use Python.NET at scale, and hope Python.NET's GC pause wouldn't be worse than pure .NET? Understanding bit of its architecture/design would help evaluate it.</p>
  
  <p>Thanks!</p>