Ciò che fa fede nella localizzazione di una classe è il namespace completo unito al nome della classe stessa.

Per poter compilare l'applicazione, è necessario indicare gli assembly DLL a cui si fa riferimento e che contengono le classi utilizzate nel codice che si sta cercando di compilare.

La parola chiave using serve esclusivamente a dichiarare namespace in modo da poter abbreviare la scrittura dei nomi delle classi omettendo, appunto, il namespace; si tratta solo di fornire una scorciatoia per la scrittura del codice.

Tra l'altro, la parola chiave using è seguita da un namespace che è un diverso concetto rispetto agli assembly che possono contenere classi appartenenti a diversi namespace, eventualmente arricchiti da altri assembly DLL.

In sostanza, using e references sono cose ben diverse e ciascuna col proprio significato, quindi il comportamento che hai riscontrato, alla luce dello scopo di queste entità, è del tutto normale.

Ciao!