You might want to check the storage system itself, if you have any way to track performance there. Cache hitting a high watermark and having to flush to disk constantly could cause the entire system to suffer, for example, as well as the disks themselves being maxed out performance wise. It's possible that it just can't accept the requests as quickly as your VM's are sending them during these times.
Is this storage system only being used by your VMware environment?