1) Fixed various concurrency issues
2) Now properly waiting for VMs to shutdown, when profile is disposed.