Sounds like a "pass by value" vs "pass by reference" type of issue. In other words, the object you are changing is technically a copy of the original object and the original object is retrieved over association.
PS. There is also some documentation on this here