Wyciek pamięci WriteableBitmap w Windows Phone 8

Mam przeciek pamięci za każdym razem, gdy tworzę jakąś instancję aWriteableBitmap. Próbowałem wielu sugestii na stackoverflow i innych forach, ale nic nie działa. Podstawowy przepływ mojej aplikacji testowej to:

Wybierz obraz za pomocąPhotoChooserTaskUżyjStream zPhotoResult obiekt, aby utworzyćWriteableBitmap.

to jest to! Znoszenie zmiennych i wywoływanieGC.Collect() rozwiązuje tylko część problemu. Dzięki temu aplikacja nie przydziela pamięci, dopóki aplikacja nie ulegnie awarii, ale mimo że obiekty wykroczyły poza zakres, zawsze przydzielana jest im pamięć, dopóki nie wybiorę nowego obrazu. Mogę go odtworzyć za pomocą domyślnego Windows Phone Direct3D z aplikacją XAML. Jedyne modyfikacje domyślnego projektu są następujące:

MainPage.xaml.cs

public MainPage() {
    InitializeComponent();
    _photoChooserTask = new PhotoChooserTask();
    _photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTaskComplete);
}

private void ApplicationBarIconButton_Click(object sender, EventArgs e) {
    _photoChooserTask.Show();
}

private void photoChooserTaskComplete(object sender, PhotoResult e) {
    if (e.TaskResult == TaskResult.OK) {
        BitmapImage image = new BitmapImage();
        image.SetSource(e.ChosenPhoto);
        WriteableBitmap wbm = new WriteableBitmap(image);
        image.UriSource = null;
        image = null;
        wbm = null;
        GC.Collect();
    }
}

MainPage.xaml

<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" Mode="Default" Opacity="0.5" >
        <shell:ApplicationBar.Buttons>
            <shell:ApplicationBarIconButton IconUri="/junkUrl.png" Text="albums" Click="ApplicationBarIconButton_Click" />
        </shell:ApplicationBar.Buttons>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

questionAnswers(1)

yourAnswerToTheQuestion