The Save method writes modified profile property values to the data source. The profile provider can reduce the amount of activity at the data source by performing updates only when the IsDirty property is set to true. This is the case for the default SqlProfileProvider. After the Save method has saved the property values to the data source, IsDirty is set to false.
You can use the ProfileAutoSaving event to implement custom logic that determines whether a profile property with a custom type or a complex type has been modified and continue with the automatic save for modified objects or cancel the automatic save if no objects have been modified.