My execution speed problem was really caused by some running DispatcherTimer, so I'll answer it to have it archived.
The solution:
Ensuring that all
DispatcherTimer
has been instantiated directly on the page so that we can nullify them from anywhere in the code.In OnNavigatedFrom, I kill the
DispatcherTimer
and inOnNavigatedTo
, I recreate them with myDispatcherX = new DispatcherTimer();No "temporary" timers, like "
DispatcherTimer myTempTimer = new DispatcherTimer;
with((DispatcherTimer)send).Stop()
in callback, as chances are that it remains in memory in an application where we navigate.