So I got Mono set up on my main development machine, and I see that TargetInvocationException mentioned by DaVince, which is in reality a boxed ArgumentException thrown, ultimately, by the System.Drawing.Icon class.
The stack trace is interesting: I was about to trace the crash back to this line:
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
Apparently Mono doesn't like the Sphere Studio icon for some reason...
Here is the bit in the Mono source itself that's throwing the exception:
//Determine the AND array size
numBytesPerLine = (int)((((bih.biWidth) + 31) & ~31) >> 3);
int andSize = numBytesPerLine * iconHeight;
iidata.iconAND = new byte [andSize];
nread = bihReader.Read (iidata.iconAND, 0, andSize);
if (nread != andSize) {
string msg = Locale.GetText ("{0} data length expected {1}, read {2}", "AND", andSize, nread);
throw new ArgumentException (msg, "stream");
}
edit: Okay, I got it past that by re-rasterizing the SVG and making a new .ico (768x768 Win10 icon, yay!). I'm guessing Mono got tripped up by the 64x64 image in the original .ico file. However, now I get a different exception, matching what FJ said above: It crashes with an ArgumentException from System.Drawing whose root cause traces back to a WeifenLuo call made in IDEForm.CloseAllDocuments(). Having done a bit of research, it appears there might be no way around this, at least for the time being--DockForms uses PInvoke internally to call into the Win32 API.
edit 2: Weird, apparently as of DockPanel 2.6, Mono should be fully supported (drag and drop would be disabled there since that's where all the PInvokes are used), yet it's clearly not working here.