from __future__ import print_function import gc gc.collect() gc.set_debug(gc.DEBUG_SAVEALL) def foo(): class Dude(object): @classmethod def clsm(a): pass @staticmethod def sm(): pass def im(self): pass def doit(): foo() gc.collect() #expect to see 0 here. print(len(gc.garbage)) doit()