title: System.OutOfMemoryException when tried with 70 files SharpZipLib
body: <p>I have tried zipping 70 pdf documents but ended up having a System.OutOfMemoryException.
  Please look into the following code and let me know whats wrong with it. 
  Please note that I have posted issue on <a href="https://github.com/icsharpcode/SharpZipLib/issues/412" rel="nofollow noreferrer">GitHub</a> as well. </p>
  
  <pre><code>public byte[] DownloadPaperList()
      {
          try
          {
              PaperDAO paperDAO = new PaperDAO();
              List&lt;PaperModel&gt; papers = paperDAO.GetPaperListByPaperIds(paperIDs);                                
              using (MemoryStream outputMemoryStream = new MemoryStream())
              {
                  using (var zipOutputStream = new ZipOutputStream(outputMemoryStream))
                  {
                      papers = papers.OrderBy(x =&gt; x.Order).ToList();                        
                      foreach (PaperModel paper in papers)
                      {
                          byte[] decryptedPaper
                           = CryptoServices.DecryptFile(paper.FileData, paperDAO.GenerateCloseOpenFile(paper, string.Empty), paper.SEVersion);
  
                          ZipEntry zipFileEntry = new ZipEntry(paper.DocName + ".pdf")
                              {
                                  Size = decryptedPaper.Length
                              };
  
                          zipOutputStream.SetLevel(3);
                          zipOutputStream.PutNextEntry(zipFileEntry); //EXCEPTION THROWS HERE!!!
  
                          StreamUtils.Copy(new MemoryStream(decryptedPaper), zipOutputStream, new byte[4096]);
                      }
                      zipOutputStream.CloseEntry();
                      // Stop ZipStream.Dispose() from also Closing the underlying stream.
                      zipOutputStream.IsStreamOwner = false;
                      outputMemoryStream.Position = 0;
                  }
                  return outputMemoryStream.ToArray();
              }
          }            
          catch (Exception)
          {
              throw;
          }
      }
  </code></pre>