from ngsolve import *
# import gc
# gc.enable()

def Setup():
    mesh = Mesh(unit_square.GenerateMesh(maxh=1))
    for i in range(8):
        mesh.Refine()

    fes = H1(mesh, order=1, autoupdate=True)
    phi_old = GridFunction(fes, autoupdate=True)

    phi_old.Set(k) # <-- turn on this line will cause memory leak

    del phi_old
    # gc.collect()

    print("mesh number = {} ".format(mesh.ne))

for k in range(1000):
    Setup()
    print("k = {} ".format(k))