Synchronous steps in Windows Powershell

We’re using a powershell gitlab-runner and I’m having problems where if one step creates a file and the next step reads the file, it’s not there (unless I add a Start-Sleep between the steps).

I have an executable that logs to a “test-results.log” file when the --test flag is used.

  - '& ".\app.exe" --test'
  - more "test-results.log"

If I add the Start-Sleep between those steps, the test-results.log file is available more often but why? Shouldn’t these steps be run synchronously? If not, how can I fix that?