When getting the StartTime for a process, each time it's called for a new instance of the same process, it has a different value. I believe that the issue is in StartTimeCore where the native "now" time is retrieved, a bunch of arithmetic is performed, then the C# "now" time is retrieved. Since operations were between the two "now" calls, the "now" values will obviously be different, but they're used as if they're the same. I've attached a sample program that will show the deltas between StartTime accesses.
System: macOS 10.14.5 Mojave
ProcessStartTime.zip