Relationship Proxies?

I'm trying to understand these results in irb, which implies that there's some kind of proxy at play:

aaron = User.find_by_login 'aaron'

=> #<User:0xb7109cdc @attributes={"salt"=>"7e3041ebc2fc05a40c60028e2c4901a81035d3cd", "updated_at"=>nil, "contact_info_id"=>nil, "crypted_password"=>"00742970dc9e6319f8019fd54864d3ea740f04b1", "user_group_id"=>"10", "remember_token_expires_at"=>nil, "id"=>"2", "disabled"=>"0", "remember_token"=>nil, "locale"=>nil, "login"=>"aaron", "created_at"=>"2007-09-18 19:10:55"}>

og = aaron.user_group

=> #<UserGroup:0xb70ad3ec @attributes={"name"=>"FeedRoom Operations", "billing_contact_id"=>nil, "type"=>"UserGroup", "contact_id"=>nil, "id"=>"10", "note"=>"Users with access to all client scopes.", "parent_id"=>"4"}, @original_language=nil>

og.name

=> "FeedRoom Operations"

sales = UserGroup.find_by_name 'sales'

=> #<UserGroup:0xb709b5c0 @attributes={"name"=>"Sales", "billing_contact_id"=>nil, "type"=>"UserGroup", "contact_id"=>nil, "id"=>"5", "note"=>"The sales team.", "parent_id"=>"3"}, @original_language=nil>

sales.name

=> "Sales"

aaron.user_group = sales

=> #<UserGroup:0xb709b5c0 @attributes={"name"=>"Sales", "billing_contact_id"=>nil, "type"=>"UserGroup", "contact_id"=>nil, "id"=>"5", "note"=>"The sales team.", "parent_id"=>"3"}, @original_language=nil>

aaron.user_group.name

=> "Sales"

og.name

=> "Sales"

Can anyone point me to some reading material that explains why my reference to a UserGroup model class changes when I alter the refernence in the user from whence my reference came? It's like there's some kind of proxy object in place that I can't really see, and I'd like to understand what's going on.