Well, I know that setInterval, while very handy uses a lot of memory, and can bog down the interface. I'd use a recursive setTimeout call that triggers only if the client is the iPhone. Also, I'd be careful to manually delete all of my pointers to the DOM. I actually have started doing this anyway to avoid memory leaks in IE. It works O.K., but it can bog down the interface since it calls the garbage collection routine more frequently than it might otherwise, but if you have a big application, it is better than eating up all of the client memory.