Without knowing more about ZipInputStreamwhich one you are using, the only thing I can be afraid of is that it is trying to use the MemoryStreamone you are transmitting before the position of this stream was reset to the beginning. Try adding this line before the code snippet:
memoryStream.Seek(0, SeekOrigin.Begin);
source
share