Ok, so I learnt from How to check if a open file has been updated that I should use a FileSystemWatcher to watch for changes to files. Then now, the question is if I must keep
I think you're definitely on the right track. It's up to you how to store the multiple fileWatchers but disposing of them and clearing their queue as quickly as possible are important for reliability. You only need one per directory, not file.
There are lots of posts about the unreliability of fileWatchers so be diligent in your usage.