IsolatedStorage приводит к исчерпанию памяти

Привет. Я читаю изображение из изолированного хранилища, когда пользователь нажимает на такой элемент:

using (IsolatedStorageFile currentIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{

    using (var img = currentIsolatedStorage.OpenFile(fileName, FileMode.Open))
    {

        byte[] buffer = new byte[img.Length];
        imgStream = new MemoryStream(buffer);
        //read the imagestream into the byte array
        int read;
        while ((read = img.Read(buffer, 0, buffer.Length)) > 0)
        {
            img.Write(buffer, 0, read);
        }

        img.Close();
    }


}

Это работает нормально, но если я нажимаю вперед и назад между двумя изображениями, потребление памяти продолжает увеличиваться, а затем заканчивается память. Есть ли более эффективный способ чтения изображений из изолированного хранилища? Я мог бы кэшировать несколько изображений в памяти, но с сотнями результатов это все равно заняло бы память. Какие-либо предложения?