I would look into the animation code first. I have a setup where I also have a userControl with simple storyboard (just to continuous flip) from xaml, and I animate it from code behind. I never had a crash of moving to another view while animating.
If you are in OnNavigatedFrom, can't you just stop the animation instead of using messenger; that's the event one should really clean up all subscriptions.
On my control, I have just added a method Animate(bool start) and use .Begin() and .Stop()