Per come la vedo io, C# è nato per "fare concorrenza" direttamente a Java mentre VB.NET per fare migrare i programmatori VB6.

Con VB.NET si rischia di continuare a scrivere codice "VB6", cosa che si evita sicuramente se si usa il C# ...