I haven't seen this before, but from what I can gather the agent is running low on memory, a garbage collection is triggered.. something within the VM object has gone stale by the time finalize() gets called. I will look into this, a couple of possible bandaids in the meantime:
Add the following to agent.properties, so only the vmware plugin is loaded:
plugins.include=vmware
Use the jre that is also serving the esx web console, rather than the bundled HQ jre:
HQ_JAVA_HOME=/usr/lib/vmware/webAccess/java/jre1.5.0_07 ./hq-agent.sh start