thanks in advance. Whenever I call [PFObject saveAll] or [PFObject saveAllInBackground] the memory that is allocated to this process fails to deallocate upon completion of the task. As a result, if this method were to be called repeatedly the app would crash from a lack of available memory. I'm testing this on an iPhone 5 with iOS 8.1.3 and using Xcode 6.2 as well as ARC. I'm also using the latest Parse SDK for iOS, although this problem persists through older SDKs as well.
EDIT
I submitted a bug report to Parse a few weeks ago. They've assigned people to investigate it: https://developers.facebook.com/bugs/349439421926879/
Source code for the bug: https://github.com/EpsApps/Parse-PFObject-saveAll-Memory-Bug
Evidence that the bug exists: https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2087-6/10935993_1605305476371209_1781513233_n.png
I've figured out a workaround to this bug. When adding an object as a pointer, do a simple query for this object rather than reusing the same object that was pulled via a more complicated query.
For instance, this will result in a big memory leak when including the "bigObject" as a pointer for a big save all:
PFQuery* query = [PFQuery queryWithClassName:@"Object"];
[query whereKey:@"objectId" equalTo:object.objectId];
// Don't include an array of pointers like this
[query includeKey:@"objectArray1"];
[query includeKey:@"objectArray2"];
PFObject* bigObject = [query getFirstObject];
But this won't:
PFQuery* query = [PFQuery queryWithClassName:@"Object"];
[query whereKey:@"objectId" equalTo:object.objectId];
PFObject* smallObject = [query getFirstObject];