Got it, I think. Became increasingly sure that the fix did not address the problem, so tested anyway.
Build 2557. Used OP's setup (actually in the root of Drive E:, but I don't think that matters), and tried each element of the setup in turn. Results:
- the lowest level folder (under the original folder and the junction) is erased;
- the intermediate level folder is also erased;
- the junction is not erased, and (invariably) generates the crash as previously described;
- as you would expect, the top level folder containing the junction is not erased and generates the crash.
The sequence of events is that, if the crash is generated, Eraser spends a noticeable amount more time on the task before announcing task completion, deleting the task from the schedule and then falling prey to the exception.
But the really nice thing is that if you erase the junction
before the intermediate folder, that works perfectly. It seems that the exception is only generated when the junction is 'widowed'. For that reason, you cannot erase the whole setup from and including the top level folder, beause the intermediate level folder will be erased before the junction (I assume because it was created first in the setup process).
What a very clever bug! I have spared you a lot of crash reports, all saying the same thing
David