This looks like a case of an autorelease pool expanding and never draining. Hard to recommend anything without knowing about the particulars of your app (does it use multiple screens and tables or is it a single pane utility or game, etc.)
What you may consider doing is at logical points in your app -- for example when performing a single task -- create a new autorelease pool and use it only for the duration of that task, then release the pool. This will help keep your total memory down and give you better control over resources.
Also, if the app uses multiple view controllers, for example if you're bringing up a modal view or cascading treeviews, you can create the controller for the new view but then set a delegate on the viewcontroller that gets notified when the work is done so you can dispose of the whole controller and view instead of keeping it around.
Finally, if dealing with a lot of images you may want to create a sort of file-system-based caching mechanism with a fixed number of in-memory slots so you only keep data in memory that you absolutely need.