LabWindows/CVI has its own internal memory manager which is used to manage memory allocation requests that come from inside CVI (such as from UI controls). This memory manager obtains memory from the system in chunks, as needed, but doesn't always return memory to the system as soon as it becomes available (it has some fairly complicated logic for when it should return memory to the system, mainly for performance reasons).
So what you are seeing is that even though the list control has freed up its memory when you remove all those items, and the memory is now free as far as the CVI memory manager is concerned, you cannot see this "freed memory" using the Windows Task Manager. However, if you were to request another large allocation after freeing these items, you should notice that CVI will not need to allocate additional memory from the system.
Basically, a good rule of thumb, when you suspect a memory leak somewhere, is to put the action that you are suspicious of in a loop. Do it 100 or 200 times, and see if you are gradually losing memory from the system. If you are, then there is a memory leak. If not, then there is probably no leak. It's just that a lot of allocations take place on an "as needed" basis, so things don't always return to their pristine state after a single create/discard iteration.
Luis
NI