Error de ACCESO MALO aunque la propiedad está configurada para retener

Espero que alguien me pueda decir por qué me equivoco. Aquí hay un fragmento de mi 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 puede ver, estoy lanzando pl a medio camino, solo para crear el problema. 'pickList' es obviamente un PickFromListViewController y se declara en el encabezado. Lo configuro como una propiedad (@property (no atómico, retiene) PickFromListViewController * pickList;) y lo @sintetizo.

Mi problema es:

después de que pl sea release, obtengo un error de ACCESO MALO al acceder a pickList que indica que el puntero ya no está disponible, pero pensé que el hecho de que pickList se sintetice, se mantendrá hasta que lo suelte en dealloc.

¿Puede alguien decirme por qué me equivoco?

Muchas gracias