Загрузите список в другой поток, GCD идеально подходит для этого.
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{ [self.theDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:docDirPath]; });
Если класс метода, который делает это, не будет жить, пока чтение списка не будет завершено, вам нужно будет обернуть блокв копии в кучу.
dispatch_async(queue, [[^{ [self.theDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:docDirPath]; } copy] autorelease]);