Fails almost silently, only printing an error message to stdout.
This seems to be because Mono invoked "open" for ShellExec, without checking the return value and converting it into an exception. It would be cleaner to do it by using LaunchServices API directly.
This is the case.
I can reproduce with Mono 126.96.36.199 (2017-10/ce494e3d152).
The root cause of that bug is, on macOS, if we cannot find "/some/nonexistent/file", we will try to execute the command with "/usr/bin/open", which is going to print "The file /some/nonexistent/file does not exist" and fail.
We would need to check for the exit status of "/usr/bin/open" to ensure that we opened the executable successfully.
Candidate fix at https://github.com/mono/mono/pull/6010