non so se può essere utile,
ma ho fatto una prova con il codice al tuo post #1
e funziona tutto correttamente

.NET FW 4.0