Objects that are no longer referenced are indeed garbage collected (they are deleted automatically when their reference count drops to 0).
A module global, however, will never have it's reference count drop to 0; once imported a module object (its namespace), lives in the sys.modules
mapping. The namespace itself refers to your object.
In other words, your object lives on forever, until you either delete it from the module namespace, delete the module namespace itself (del sys.modules['yourmodule']
) or your python script exits.