¿Cuándo debo liberar objetos en - (void) viewDidUnload en lugar de en -dealloc?

Cuál es el-(void)viewDidUnload ¿es bueno para?

¿No podría simplemente repasar todo en-dealloc? Si la vista se descargara, no lo haría-dealloc ser llamado de todos modos?