Uhmmmm qui si sta facendo un pò di confusione.
Allora, nel tuo esempio di codice, non viene instanziata ma viene dichiarata di tipo array.
Il codice che hai riportato
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
traducendolo in linguaggio umano sarebbe
Creao un oggetto di tipo networkinterface di tipo array, ossia n oggetti, che vengono valorizzati dal metodo GetAllNetworkInterfaces.
A questo punto, avrai una serie di oggetti (dipende dai dati che ci sono) denominati nics di tipo NetWorkInterface.
Mettendo nics[1] (supponendo che ci sono 2 e più oggetti) hai un oggetto di tipo NetWorkInterface, se metti il punto, in VS ti tira fuori, proprietà, metodi ed eventi per quell'oggetto.
Spero di aver chiarito ogni tuo dubbio.
Ciao e buona programmazione.
Lele