As I understand it, when you load BitmapImage by setting its UriSource property, the image is always cached. I do not know how to avoid this. At the very least, setting BitmapCreateOptions.IgnoreImageCache ensures that the image will not be retrieved from the cache, but this will not prevent the image from being stored in the cache.
The Notes in BitmapCreateOptions says that
When IgnoreImageCache is selected, any existing entries in the cache image are replaced, even if they have the same Uri
My conclusion is that caching is only done when the image is loaded by Uri. In other words, if you really need to block image caching, you will have to load the image using its StreamSource property.
However, if it is truly βbetter in terms of memory management,β perhaps an experiment is worth it. You can try both alternatives and see if you observe any significant difference in memory consumption.
source share