Not really a solution, but maybe a kind of explanation:
I do see exactly the same behavior if I copy my File with
File.Copy
in my code.
Reading the time in the source file with
File.GetLastWriteTimeUtc
shows the above mentioned date and time of 03.06.2017 08:50:56 which corresponds to 636320766565495201 internal ticks.
The target file's time stamp is 03.06.2017 08:50:56 which corresponds to 636320766580000000 internal ticks.
Obviously the number of ticks is being rounded when writing them into the target file.
I tried to explicitly copy the source time into the target time with
File.SetLastWriteTimeUtc("<targetPath>", File.GetLastWriteTimeUtc("sourcePath"));
To no avail: The number of ticks gets rounded in the target object.
Overwriting the number of ticks is not possible because the corresponding property is readOnly.
Now I more or less understand what's going on. What I not understand is why this is done in this way.