import io import gc def dying(): class DyingIO(io.IOBase): def close(self): pass DyingIO() return DyingIO() if __name__ == "__main__": obj = dying() obj.obj = obj obj = None gc.collect()