Erro BAD ACCESS, embora a propriedade esteja configurada para reter

Espero que alguém possa me dizer por que estou errado. Aqui está um trecho do meu código:

TimeLogAppDelegate *appDelegate = (TimeLogAppDelegate *)[[UIApplication sharedApplication] delegate];

PickFromListViewController * pl = [[PickFromListViewController alloc] initWithNibName:@"PickList" bundle:nil];
pickList = pl;
[pickList setSearchItems:[appDelegate tableListMutableArray:type ] :NSLocalizedString(type,nil)];
pickList.callingViewController = self;
[pl release];
pickList.responseSelector = [[type lowercaseString] stringByAppendingString: @"Selected:"];
pickList.includeNone = YES;
pickList.includeNew = YES;
[self.navigationController pushViewController:pickList animated:YES];

Como você pode ver, estou liberando a meio caminho, apenas para criar o problema. 'pickList' é obviamente um PickFromListViewController e é declarado no cabeçalho. Eu configuro como uma propriedade (@property (nonatomic, reter) PickFromListViewController * pickList;) e eu @ sintetizo.

Meu problema é:

depois que o pl é liberado, recebo um erro BAD ACCESS acessando pickList indicando que o ponteiro não está mais disponível, mas achei que o fato de que pickList é sintetizado, ele seria retido até que eu o liberasse no dealloc?

Alguém pode me dizer por que estou errado?

Muito Obrigado

questionAnswers(1)

yourAnswerToTheQuestion