Items are created for C# assemblies because the root namespaces they contain don't necessarily match the assembly name and the same namespace hierarchy can be used in multiple assemblies. It is often the case that the assembly is named to match the root hierarchy of namespaces and contain no other types or namespaces.
This can create a redundant hierarchy of single child items inside a assembly item. This means users often have to open multiple items in the hierarchy to view the contents of an assembly, but each item they open shows the same dependency counts.