I don't remember any command in Virtualbox that will shut down the host when the guest is done running a program. But, there is a way using scripts or batch files to do what you want.
Since your guest program can shut down the guest when it's finished, all you need is a .cmd file running on the host which looks in the Task Manager list for the running Virtualbox process, then shuts down the host when the Virtualbox process goes away.
TASKLIST will show the running processes. Use > and a filename to redirect the output of TASKLIST into a file on your drive. FIND will hunt through the file for a particular task name that you're looking for, namely Virtualbox.exe or VBoxSVC.exe. PING can be used as a reasonable delay mechanism to keep the .cmd from asking for tasklists hundreds of times a second - five or ten seconds of delay between each run of TASKLIST should be good. SHUTDOWN will shut down the host.
Use TASKLIST, FIND, and PING in a loop until FIND no longer finds Virtualbox.exe (or VBoxSVC.exe or Vboxheadless.exe - you'll need to look for yourself to see what comes and goes in the Task Manager when you're running and stopping your guest). When FIND fails to find the guest task, get out of the loop and run SHUTDOWN.
Type each command in a Command Prompt window followed by /? to see the command's help info. Google around and you might find an almost-complete .cmd script that you can just modify.
(By the way, there is a rare glitch every so often with some guests where the guest window does not disappear when the guest is shut down, leaving a running Virtualbox.exe in the task list with nothing running in it. This would prevent your host-shutdown script from working. If this ever happens to your guest, and you would be really bothered if for that one time your host remained running, you'll need to use a different method. Look here:
viewtopic.php?f=1&t=48146 see my final post, on how to use Virtualbox's "guestproperty" system as a heartbeat monitor.)