В зависимости от того, как вы определили свою собственность, у вас есть утечка памяти. Практически каждый раз, когда вы видите комбинацию alloc / init, вы получаете объект с количеством ссылок, равным единице. Предполагая, что ваше свойство определено как retain (что, вероятно, и должно быть), установка этого свойства увеличит счетчик ссылок до двух.
Если вы действительно хотите сохранить все это в одной строке, используйте что-то вроде этого:
self.navigationController = [[[UINavigationController alloc] initWithRootViewController:rootViewController] autorelease];
Хотя даже это не рекомендуется, поскольку объекты автоматического высвобождения могут привести к тому, что они будут находиться вокруг дольше, чем необходимо.