trace the code in the reference file back to where Class1 is created...
In EndDoWork:
SilverlightWcfConstructorTest.ServiceReference1.Class1 _result = ((SilverlightWcfConstructorTest.ServiceReference1.Class1)(base.EndInvoke("DoWork", _args, result)));
The silverlight client-side doesn't use the implicit default constructor in the autogenerated class to create it, and thus your overwrite in the partial class will never get called either.