Я бы сказал, что причина в том, что управление рекламой и таймер хотят что-то сделать в потоке пользовательского интерфейса.Таким образом, когда контроль рекламы занят, действие таймера блокируется в течение этого времени.Процитируем MSDN :
Таймеры не гарантированно работают точно, когда наступает временной интервал, но они гарантированно не будут выполняться до того, как временной интервал произойдетЭто связано с тем, что операции DispatcherTimer помещаются в очередь Dispatcher, как и другие операции.Время выполнения операции DispatcherTimer зависит от других заданий в очереди и их приоритетов.
Также объясняется, почему использование фонового рабочего не помогает.Как только вы возвращаетесь из другого потока в поток пользовательского интерфейса, у вас снова возникает та же проблема.Так что эта проблема в основном задуманна.
О, и это также может быть наоборот.Если вы будете интенсивно работать в потоке пользовательского интерфейса, то контроль рекламы будет заблокирован.Как и весь ваш пользовательский интерфейс.Это причина, почему вы должны выполнять как можно больше работы в фоновых потоках.Может быть, рекламный контроль не придерживается этого совета.
Пока это, вероятно, вам мало поможет.Но, возможно, можно просто использовать один AdControl и переместить его из Pivot в Pivot, когда пользователь перемещается?