Come tutti sappiamo, quando Microsoft ha progettato il .NET Framework 3.0, lo ha rilasciato come "estensione" del .NET Framework 2.0: quello che già c'era non è stato modificato, sono solo stati aggiunti nuovi namespace e, quindi, nuove classi. E la stessa cosa accade con il .NET Framework 3.5, che si colloca al di sopra delle versioni precedenti, senza cambiarle (a parte gli aggiornamenti contenuti nei Service Pack). Questo modo di procedere è necessario per garantire la compatibiltà con le applicazioni esistenti, tuttavia sta portando ad una sorta di "effetto cipolla": ogni nuovo rilascio aggiunge uno strato a quelli già esistenti.
Non vorrei che tutto questo portasse ad un'esplosione del .NET Framework, come è accaduto in passato con altre API di Microsoft (leggi: MFC)...
Naturalmente questa è solo la mia opinione, mi piacerebbe sapere cosa ne pensate voi a riguardo