Any and every time you see "values being overwritten" ... references are always the ultimate reason why. You have multiple references to the same piece of storage. The storage is being overwritten and every reference, no matter where it may be (surprise!!) reflects it.