I have this xml file that's used to store a set of instructions created by an exe for another dll to read and use. The other dll runs in a third party thread. As the dll executes each instruction, it writes the status to the xml. The exe watches the file and when it sees that it has been updated, it reads the file to identify the status change. 9 times out of 10, this seems to work, especially since I've added some multiple try and timeout code. But it still has trouble every now and then where the exe cannot access the file because the dll still has it... are there any suggestions or best practices for this? Does anyone have a really robust approach for accomplishing the same thing?