Can't remove symbolic link referring to itself

$ ln -s f f
$ ls -la f
lrwxr-xr-x 1 rolf staff 1 Mar 12 16:00 f -> f
$ csharp
Mono C# Shell, type "help;" for help

Enter statements below.
csharp> System.IO.File.Delete ("f");
Unknown errno: Too many levels of symbolic links

Unknown errno: Too many levels of symbolic links

System.IO.IOException: Win32 IO returned ERROR_GEN_FAILURE. Path: f

  at System.IO.File.Delete (System.String path) [0x00000] in <filename unknown>:0 
  at <InteractiveExpressionClass>.Host (System.Object& $retval) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Evaluator.Evaluate (System.String input, System.Object& result, System.Boolean& result_set) [0x00000] in <filename unknown>:0 
  at Mono.CSharpShell.Evaluate (System.String input) [0x00000] in <filename unknown>:0 

csharp>


Reference: https://bugzilla.xamarin.com/show_bug.cgi?id=27961