Your .lpi file is empty!
I recreated it.
HeapTrace reports no memory leaks (tested win32 and win64).
Why do you think there is a memory leak?
Note: although you free the memory (which is correct), this does not mean that the OS "gets this memory back", at leat not instantaneously, so the memory footprint of the program (if you look at it in taskmanager) may grow with each click on Button1.
I added project1.zip whic contains a vaild .lpi with buildmodes for win32 and win64, bith with heaptrace enabled.
Here's part of HepTrace output.
C:\Users\Bart\LazarusProjecten\bugs\Forum\TList>project1
Heap dump by heaptrc unit
41535 memory blocks allocated : 5989013/6093760
41535 memory blocks freed : 5989013/6093760
0 unfreed memory blocks : 0
Bart