Can you create a very simple repro? Like is it 1 particular entity that causes this? It's likely a foreign key field (you know which field as you can see that in the debugger), and if so, what is the difference between the field fetched and the field synced?
My guess is that the FK value in aEntity differs only in case with the PK value on the other side. The comparer for when the entity is set will sync the fk with the pk and as the values do differ (on case) the isdirty flag will be set.
But ... it's speculation, you didn't give more info regarding what value the field has in the db, in the entity (DbValue and currentvalue), the value of the PK of the related entity and the FK value in aEntity if you fetch it without a prefetch path.
So example: you have Customer and Order. Customer has a string PK, order has a string FK to customer. I have in Order 1, for CustomerID the value "Foo" and I have a Customer entity with the PK value "FOO". If I then fetch order 1 with a prefetch path that also fetches customer, I get the Customer with Pk FOO but the Fk in Order is 'Foo', it'll be reset to 'FOO' which triggers the change.
At least that's my assumption