Yes, ReSharper does this. Right click on your solution and selection "Find Code Issues". One of the results is "Unused Symbols". This will show you classes, methods, etc., that aren't used.
And you don't have to buy NDepend.
Before installing the extension, make sure that Visual Studio is not running in background. Now run the VSIX file to install the extension and then launch Visual Studio. Now open the project which contains unused references. In Solution Explorer, right-click the project and select Remove Unused References option.
It will show all the unused references present in your project files. Select the references you want to delete and click OK to begin removing them from your project.
The Reference Assistant uses Output Console to show the results. It’s advised to verify the unused references which were removed during the process. Reference Assistant works only on Visual Studio 2010.
http://visualstudiogallery.msdn.microsoft.com/fc504cc6-5808-4da8-ae86-8d3f9ed81606