Apenas tenha muito cuidado ao fechar alças; é ainda mais perigoso do que você imagina, por causa da reciclagem de identificadores - se você fechar o identificador de arquivo e o programa abrir outra coisa, esse identificador de arquivo original que você fechou poderá ser reutilizado para esse "outro item". E agora adivinhe o que acontece se o programa continuar, pensando que está funcionando no arquivo (cujo identificador você fechou), quando na verdade esse identificador de arquivo agora está apontando para outra coisa.
Suponha que um serviço de índice de pesquisa tenha um arquivo aberto para indexação, mas tenha ficado temporariamente bloqueado e você queira excluir o arquivo, para que (imprudentemente) force o fechamento do identificador. O serviço de índice de pesquisa abre seu arquivo de log para registrar algumas informações, e o identificador para o arquivo excluído é reciclado como identificador para o arquivo de log. A operação travada finalmente é concluída e o serviço de índice de pesquisa finalmente fecha o identificador que ele havia aberto, mas acaba involuntariamente fechando o identificador do arquivo de log.
O serviço de índice de pesquisa abre outro arquivo, digamos um arquivo de configuração para gravação, para que ele possa atualizar algum estado persistente. O identificador para o arquivo de log é reciclado como o identificador para o arquivo de configuração. O serviço de índice de pesquisa deseja registrar algumas informações e, portanto, grava em seu arquivo de log. Infelizmente, o identificador do arquivo de log foi fechado e o identificador reutilizado para seu arquivo de configuração. As informações registradas vão para o arquivo de configuração, corrompendo-o.
Enquanto isso, outro identificador que você forçou a fechar foi reutilizado como identificador mutex, usado para ajudar a impedir a corrupção de dados. Quando o identificador de arquivo original é fechado, o identificador mutex é fechado e as proteções contra corrupção de dados são perdidas. Quanto mais tempo o serviço for executado, mais corrompidos serão os índices. Eventualmente, alguém percebe que o índice está retornando resultados incorretos. E quando você tenta reiniciar o serviço, ele falha porque seus arquivos de configuração foram corrompidos.
Você relata o problema à empresa que faz o serviço de índice de pesquisa e eles determinam que o índice foi corrompido, o arquivo de log parou misteriosamente de log e o arquivo de configuração foi substituído por lixo. A um técnico pobre é atribuída a tarefa impossível de descobrir por que o serviço corrompe seus índices e arquivos de configuração, sem saber que a origem da corrupção é que você forçou o fechamento de um identificador.