I realized I need to make a correction, and I also have another pointer that will likely solve the issue I alluded to at the end of my original post.
First, Start-Process defaults to NOT waiting for a process to exit before proceeding. There's a "-Wait" parameter when that's desired. So in your case, the default is fine. But Start-Process also has a "-PassThru" parameter that will capture details of the started process into a variable. For example, suppose you run:
$MyPing = Start-Process Notepad -PassThru
That $a variable will have properties about the started process, including its Process ID. And that variable can then later be fed to a different cmdlet called...Stop-Process! So you can start the process before Reflect runs, and then at the end of your script write:
That will kill off that process before the script exits.
You'll likely need to use the FilePath and ArgumentList parameters of Start-Process for your purposes rather than my simplified example, but you get the idea. There are also PowerShell-native cmdlets for pinging, and there are ways to have a ping run until another process completes, such as a Do/Until loop, but if you already know command line syntax, then the above is a perfectly reasonable method of accomplishing your goal without delving more into PowerShell.