class Test: def __init__(self, headers=['1','2'], oheaders=['3','4']): print('Creating Object') self.headers = headers self.oheaders = oheaders self.merge_list() def merge_list(self): merge_list = self.headers merge_list[1:1] = self.oheaders print(merge_list) def __del__(self): print('Destructing Object') self.headers = [] self.oheaders = [] # Normal Behaviour print("normal behaviour") for i in range(4): test = Test(headers=['1','2'], oheaders=['3','4']) del test # Bug print("buggy behaviour") for i in range(4): test = Test() del test gc.collect()