Пространства имен это по сути просто синтаксический сахар (ну и немного метаданных вроде), для .net это просто префиксы имен типов. Т.е. то, что выглядит как MyClass, находящийся в пространстве имен MyNamespace, для CLR является типом с именем MyNamespace.MyClass, поэтому MyNamespace.MyClass может быть в одной сборке, а MyNamespace.AnotherClass в другой.