This is a wild guess, I'm not really a storage admin, but it seems likely that read/write times may not be quite consistent when you're using networked storage, due to e.g. network congestion or other disk usage. And on a local disk, that might also be caused by bad blocks/fragmentation.
So if the application notices that there's a variation in I/O times, it'll assume that it's the latter. Which IMO is a crap assumption.