The problem is because vmware returns log records in reverse order. So instead of setting lastlogsize to the biggest event key (id) it is set to the smallest.
Also a different issue - EventHistoryCollector is created and the events are gathered in the begining of vmware collector update process. Apparently this the EventHistoryCollector still continues to gather events which are not retrieved and lost when the session (update process) is ended.
Destroying EventHistoryCollector right after the events are retrieved would improve the situation.