This is all logged in the build log but you have to turn on detailed or diagnostic logging to see it. In the options under Build set the output to one of these and then rebuild. You'll have to wade through lots of output but searching by the assembly name will jump you to the places in the log where an assembly is being added as a reference and what other reference caused it to show up.
Note that if you have a Dependencies node in your projects (using the new SDK format) then you can also click on each of the dependencies and view their dependents to work your way down to the cause.
Irrelevant of the cause though this is a valid warning. It is not a false positive. Your project is referencing something that is only coded to work with an older version of something that your project is trying to use a newer version of. This potentially could break something. Furthermore the order in which dependencies are copied into the output directory is pretty much undefined so it is possible you may end up using the older version of the dependency even though your project (or somebody else) requires a newer one. The binding redirect is going to help here but adding a direct reference helps ensure the newest binary is used. It is a necessary evil in the package days.