I just did a slight bit more digging and made some progress. It turns out that you can turn off the "System" reference in MonoDevelop to help identify places that need System.dll. You can do so by going into Monodevelop's "Project->Edit References...", and turning off the System package under the "All" tab. (Don't remove System.Core, as that has the essentials from mscorlib.dll").
There was only one reference to a System.dll in UIPanel.cs on line 10:
// using System.Collections.Specialized;
I commented it out, and it compiled without error. So, I concluded that your included .cs files do not actually reference System. I verified this by opening Assembly-CSharp.dll in the assembly browser and verified that "References" did not include System.
However, after a bit more digging, I opened up NGUI.dll in the assembly browser in MonoDevelop, and saw that the assembly references "System" in addition to "mscorlib". This is shown by expanding the "References" section under "NGUI.dll" in the left pane of the assembly browser. That tells me that only you can address this problem.
Would you be willing to crack open your source .cs files that produce your NGUI.dll and try to identify and remove System.dll references using the first trick I mentioned? It's likely that your use of one or more of the generic collections is causing the problem.
Your advertised "lightweight for mobile" will be much more compelling if you can reduce the size of the resulting game by over 1 MB by removing reference to System.dll, as recommended by the Unity doc here:
http://docs.unity3d.com/Documentation/Manual/ReducingFilesize.html.