It turns out that this behaviour is not an anomaly:
As I said previously I think that the mission of inotify (and therefore as reported by Pyinotify) is to signal you when a file is closed (more precisely when it is closed by its file descriptor), but obviously the kernel uses buffers and so the file data may not be written on disk immediately. For more details see the man (2) of the close() function:
A successful close does not guarantee that the data has been successfully saved to disk, as the kernel defers writes. It is not common for a file system to flush the buffers when the stream is closed. If you need to be sure that the data is physically stored use fsync(2). (It will depend on the disk hardware at this point.)
Bottom line you can not rely on
IN_CLOSE_WRITE
to be certain that your data has finished to be been written on disk.
In other words, it is not a premature notification, it comes at the right time; but the underlying mechanisms of the OS can keep doing something to that file.