Когда у вас отображаются страницы XAML, вы регистрируетесь на события клавиатуры?
Если да, то забыли ли вы отменить регистрацию в событиях клавиатуры при удалении этих страниц с экрана?
Поскольку в классе UserControl или Page в Silverlight (по крайней мере, из того, что я знаю) нет события, похожего на "Unloading", то мои страницы реализуют определенный мной интерфейс, который содержит один метод, подобный " Очистка "или" Закрыть ". Прежде чем удалить элемент управления с экрана, я вызываю функцию очистки () для элемента управления и заставляю его выполнять такие действия, как отмена регистрации в событиях, которые он мог зарегистрировать.
Если вы не отмените регистрацию по событиям, объект страницы никогда не будет собирать мусор, поскольку CLR считает, что объект все еще жив.