Why reassigment leads to memory leak?

Runing this cell multiple times in jupyter notebook leads to memory leak. I can`t get why.

my_list = list(map(lambda x: [1,2,3,4,4,4,4,4,4,4,4,4,4,4], range(300000)))

If I run following cell once:

my_list = list(map(lambda x: [1,2,3,4,4,4,4,4,4,4,4,4,4,4], range(300000)))
my_list = list(map(lambda x: [1,2,3,4,4,4,4,4,4,4,4,4,4,4], range(300000)))
my_list = list(map(lambda x: [1,2,3,4,4,4,4,4,4,4,4,4,4,4], range(300000)))
my_list = list(map(lambda x: [1,2,3,4,4,4,4,4,4,4,4,4,4,4], range(300000)))
my_list = list(map(lambda x: [1,2,3,4,4,4,4,4,4,4,4,4,4,4], range(300000)))
my_list = list(map(lambda x: [1,2,3,4,4,4,4,4,4,4,4,4,4,4], range(300000)))

Then will be no memory leak. So I assume the problem is in how jupyer notebook manages references and memory between cell runs.
python3.7 Linux Mint 18.3