ho provato e riprovato, ma non capisco proprio a cosa possa essere dovuto.
Tengo a precisare che il server e il client sono su due soluzioni diverse, ho fatto copia-incolla della definizione della classe "pacchetto", ma temo non sia sufficiente per avere un oggetto identico..
In ogni caso ho tentato, anziché utilizzare il networkstream, a creare un filestream per poter controllare meglio come funzionava il meccanismo. Tutto ciò che posso dire è che la serializzazione sembra funzionare come si deve, in quanto alla deserializzazione, il client mi da errore in quanto sostiene che il file è aperto da un altro processo (cosa non vera), ma non è questo ciò su cui mi devo concentrare.

Ho letto qualcosa riguardo al binaryformat.binder, che lega l'assembly alla classe da trasportare, ma non capisco come si utilizza.
Anche il .net remoting ha attirato la mia attenzione. Mi chiedo soltanto sia una scelta esatta, dal momento che intendo utilizzare questo progetto come base per progetti futuri che avranno bisogno di latenze anche più ridotte che non quelle richieste da una chat.