Once a minute, the VMware Tools time synchronization daemon, looks to see if a guest has drifted more than the internal catchup routine will allow. If it has, then it resets the guest clock to the host time, and cancels the catchup process.
Look here for more detailed info:
For general information about how timesync works:
The most work to sync the time is done by VMware Time Tracker which presents different hardware clocks to the guest OS. So the most work has to be done by the Time Tracker.
The tools always resync clock upon certain events:
On resume from suspend or checkpoint
When tools daemon starts up
When periodic time sync is turned on by user
Resync guest wall clock periodically:
Once per minute (of guest time)