I think it should work the way the Java SDK works: only send to the server the properties that the user explicitly sets (dirty properties). I also think that this applies to all save requests, not only custom data.