CRM 2011 exposes a REST endpoint using the OData prototcol for working with data from Web Resources. When using the endpoint from Silverlight the most common way is to use the generated proxy classes that are produced when you add a reference to the endpoint or by running DataSvcUtil. When working with these generated classes and the default behavior of the WCF Data Services client all fields are sent to the server when an update is done on an object instead of just the changed fields. This has some undesired effects like auditing being updated more often then it should not to mention if you have workflows triggering on any of the fields they will detect the change as well even though your app may have only modified a single unrelated field. A particularly nasty surprise can be found also when you later decide to turn on field level security and the user doing the update doesn’t have access to the field all of a sudden you will get errors due to the update.
Not all is doom and gloom, you can fix this by a few tweaks to the generated data context to ensure that when changes are posted to the CRM server that only the modified fields are sent. You can find details and the code to add on the CRM team blog here.