Memory will free up when the loop is done
What happens if you move the looping outside the method, then call the method from a thread, or better yet use a timer?
With a timer:
* Use an outside variable to keep track of your position in the list.
* The timer calls the method
* When the method is complete it increments the variable, then sets up the timer to call it again: timer.period=1, timer.mode=1
Well I'll be darned. Some success here. The main purpose of the method is the loop ...but I simply moved the "picture.open" to a thread that's fired off by the method. In the thread all I do is open the picture from a file and save it to a temporary property of the main window, then the method continues by picking up the picture from the property and goes ahead with the rest of the code. A little messy, but it seems to work.
Still ... I hope things speed up with cocoa. In carbon I can open a folder of 800 small jpegs (average 200kb each) and make and display thumbnails ... all in 20 seconds or less. In cocoa it takes about a minute.