Recently while exploring the Microsoft.Cci dll which contains common compiler infrastructure i developed this simple tool for checking circular dependency amongst pre-built assemblies. I have uploaded the alpha release with source code to codeplex.
Cci can be used to read metadata of assemblies instead of Reflection technology provided by framework. Cci provides some advantages like multithreading support, does not lock assemblies and do not create instances.
You can use the source code as a starting point for your tool.