WIC is supposed to work on a random access stream (for example, in order to read the header to detect what kind of image format...etc. and then re-seek to the beginning of the stream), so in your use case, you have to fully pre-load the image in a memorystream.