Ele é aberto apenas uma vez, pelo processo de shell que interpreta o " > filename
" antes de iniciar o comando. Como esse processo de shell está aguardando a saída do comando, não há ninguém para fechar o arquivo, até que o comando saia.
A saída parecerá aparecer, em rajadas, no arquivo, como buffer de disco e o cache faz sua mágica.