This means that CopyLocal copies the referenced assembly and its dependencies to the output folder, unless the referenced assembly or dependency is in the GAC.
Since you installed CopyLocal in reference B , both B and its dependency C will be copied to output folder A , even if you did not install CopyLocal on reference C in project B
Note that if you create B , C not copied to folder B
If you want B be copied to output folder A , but don't want this to happen to C , one solution would be to put C in the GAC.
source share