os.utime(..., None) was not simulating IN_CLOSE_WRITE
Delay touches to prevent race conditions between nfs_inotify_client.py and directory removing processes. E.g. when you do rm -rf Dir, it deletes Dir/File first, client creates Dir/.dummy.nfs_inotify, rm assumes that Dir is empty, does rmdir("Dir") and fails because Dir/.dummy_nfs_inotify still exists (nfs_inotify_client.py did not had time to remove it)