Me surgiu a dúvida de como o método .Read do FileStream sabe de onde continuar a leitura dentro do laço while.
numeroDeBytesLidos = fluxoDoArquivo.Read(buffer, 0, 1024);
Quando esse método retorna, o valor de offset atualiza para (offset + count -1) ?
Ao meu ver seria a única explicação e queria ter certeza se isso acontece.