This problem is a serious defect in the ActiveRecord association after_save callback chain. A simple conditional bug meant that Rails passively loads assocations that have not been loaded before the save() call.
The impact of this bug will vary on a per-application basis; on the database side, this bug will manifest as a full select from the association without any limits. For a has_many association, this means:
SELECT * FROM association_table WHERE fkey_id = self.id
When your association includes thousands of records, this can be an extremely painful operation (never mind spuriously loading the corresponding ActiveRecord objects and calling save on each of them in turn).