You need to understand what the DBContext is.
Check DBContext documentation here.
While you are working in the same DBContext, it tracks the Entities you are using.
So when you retrieve the same Entity and change something, when you retrieve it from the same DBContext, it will depict the changes, even if it is in another class or service in your current application.
DBContext attach. Check the documentation of attach
Attaches the given entity to the context underlying the set. That is, the entity is placed into the context in the Unchanged state, just as if it had been read from the database.
Later on, when it is retrieved from the context it will be in the last known state.
If you want to refresh the item in the context, you can do something like the following:
Obj.State = EntityState.Detached;
Class Obj1 = DbContext.Kid(K => K.Id == 2).FirstOrDefault();
Bear in mind that the Obj will be detached and you will no longer be able to do actions with it that will propagate to the database.