Да, пара проблем. Во-первых, вы используете dateFormatter, но не возвращаете его. Таким образом, когда вы инициализируете dateFormatter, вам нужно либо вызвать autorelease для него, либо вы должны иметь NSDateFormatter, предоставляющий вам автоматически выпущенный объект.
Например:
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init] autorelease];
или
NSDateFormatter * dateFormatter = [NSDateFormatter dateFormatter];
второго метода не существует, но хорошо бы знать, как эти вещи обычно работают. В любом случае, использование первого метода, приведенного выше, исправит ваш код.
Когда вы вызываете [dateFormatter stringFromDate: date] или [dateFormatter dateFromString: date], dateFormatter вернет вам NSString или NSDate соответственно. В обоих случаях соответствующий метод stringFromDate: date или dateFromString: date создает для вас автоматически выпущенный объект NSString или NSDate.
Затем вы можете вернуть любой объект как есть, потому что он уже автоматически освобожден.