Thanks for replying. Your video shows the problem exactly!. The memory of the iexplorer.exe process continues to rise as you flip pages. What you are missing from your test is a 'real document' that is bigger in size than the empty page in your example. My document pages are .png format and range from 70k to 200k. It is not possible to compress them further. When the users flip through the document, the memory size of the iexplore process quickly grows and exhausts the heap.
Your example shows a iexplore process starting at 37k on page 0.
page 4 - 38k
page 15 - 39k
page 26 - 40k
page 40 - 41 k
page 68 - 42k
If Book was releasing the pages from memory after the user has moved on, then I would expect the process to stabilize at 38-39k, not continue to grow. If you re-test with pages that have a bigger footprint then you will more clearly see the growth.
All we need is a way for Book to release the previous pages from memory after the user has moved on.
Here is the code for my project:
// add all pages from current set of documents to book
Canvas page =
Image pageDupe =
pageDupe.DataContext = doc;
var b =
pageDupe.Source = b;
RadBookItem bookItem =
RadBookItem bookItemDupe =
bookItem.Content = page;
bookItemDupe.Content = pageDupe;