NLog File target and keepFileOpen flag
I would say that closing the file is the expected behaviour. If you will try to access the file from another process or delete it in file system while the NLog-process is alive it would lead to those annoying system-errors saying that some process holds the file etc.
If the time of opening a file is too long for you, try using the AsyncWrapper and you'll get a fire-and-forget-behavior.
Therefore I think that the default value is ok.