It seems as if you are forgetting to remove an observer for the movie callbacks:
-(void) dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
It's likely that the movie player (via NSNotificationCenter) is the object that is using some memory location which has already been freed
when it tries to notify its observers