I've added some comments to the pull request; I think Alex needs to check it out, too, since it's a bit of an API change. If possible, it'd be nice to put specific comments about the PR there so it's easier to correlate.
I don't have any objection to improving the circular dependency handling as long as it doesn't break folks. That's what I'm most worried about when we change stuff at this level - breaking existing people or introducing unexpected behavior (e.g., a property getting populated with something now when it wasn't populated before).
You have asked about figuring out which version of the code corresponds to a version of the released NuGet package and unfortunately the answer is the same - there's not a good way to do that given our repo structure and there is not currently a plan to change the structure.