The JS garbage collector releases memory at random times how long of a period are you testing over?
I would also suggest using the Chrome developer tools profile panel to check for leaks.
FYI when you take a heap snapshot in chrome dev tools it does initiate the garbage collector.
It would help expedite this issue if you put together a fiddle and verify that it reproduces this behavior. https://fiddle.sencha.com/#home
Well id's are usually intended to be unique within a html document. The way you have it set up each list item will have the same id. I don't think it is necessary as you can use component query to retrieve your list based on its itemId (itemId: 'myList') and the getInnerItems() method to get access to the list items.
Check out the console results on the following fiddle: https://fiddle.sencha.com/#fiddle/4di