Pamięć nie została zwolniona podczas ustawiania wartości BitmapImage na null

Mam kolekcje obiektów, każdy obiekt zawiera BitmapImage. Mam tę kolekcję związaną z FlipView. Gdy użytkownik odwraca stronę w FlipView, BitmapInmage wybranego obiektu jest ładowany z ApplicationData i ustawiam BitmapImage poprzedniego obiektu na null, aby zwolnić pamięć. Problem polega na tym, że pamięć nigdy nie zostaje zwolniona, a aplikacja ulega awarii po pewnym czasie. Kiedy patrzę na kolekcję, tylko rzeczywisty element ma swój zestaw BitmapImage, wszystkie pozostałe mają go jako null. Jak więc uwolnić pamięć?

Sposób ładowania obrazów:

StorageFile s = await ApplicationData.Current.LocalFolder.GetFileAsync(localFilename);
BitmapImage bitmapImage = new BitmapImage();
using (var stream = await s.OpenAsync(FileAccessMode.Read))
{                    
    bitmapImage.SetSource(stream);
}                
return bitmapImage;

Edytować: Myślę, że problemem może być sposób w jaki ładuję obraz, chyba strumień plików nie zostanie uwolniony

questionAnswers(5)

yourAnswerToTheQuestion