import sys # Use an object to know when the frame is deleted # (frame type doesn't support weakref) class MyObject: def __del__(self): print("Delete object") def func(): local_var1 = MyObject() local_var2 = sys._getframe() # frame -> local_var2 -> frame: reference cycle func() print("Exit")