In reply to alexkidd84:
You should review the Verification Academy section on phasing.
The Parallel Run-Time phases will execute in parallel with the run_phase(). These phases will execute in order, and if these parallel phases don't exist or don't consume any simulation time, the scheduler will finish one phase and then start the next phase.
In your case, you only have the pre_shutdown_phase(). Since there are no other phases implemented, the UVM phasing scheduler will execute the pre_shutdown_phase() at time 0.
This is a great example why it is recommended to only use the run_phase() and ignore the Parallel Run-Time phases.