In reply to rbasnet:
The your loop is located in run_phase, when the run_phase complete, simulation will terminate your fork/join_none and the loop as well. I think, the loop exists because your run_phase is completed (when all other phases such as reset, configure, main, shutdown, etc… parallel running with run_phase are finished). Please check again.