Soweit ich weiß, muss man die erste loslassen, wenn man fertig ist, und die zweite nicht. Warum sollten Sie die erste Initialisierung gegenüber der zweiten verwenden?
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"title", @"text", nil];
Und
NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"title", @"text", nil];