GZipStream y DeflateStream producen archivos más grandes

Estoy tratando de usar flujos deflate / gzip en C # pero parece que los archivos después de la compresión son más grandes que antes.

Por ejemplo, comprimo un archivo docx de 900ko, ¡pero produce uno de 1.4Mo!

Y lo hace para cada archivo que probé.

¿Puedo estar equivocado en la forma en que lo estoy haciendo? Aquí está mi código:

  FileStream input = File.OpenRead(Environment.CurrentDirectory + "/file.docx");
  FileStream output = File.OpenWrite(Environment.CurrentDirectory + "/compressedfile.dat");

  GZipStream comp = new GZipStream(output, CompressionMode.Compress);

  while (input.Position != input.Length)
      comp.WriteByte((byte)input.ReadByte());

  input.Close();

  comp.Close(); // automatically call flush at closing
  output.Close();