Saya menduga bahwa SqlParameter "tahu" perintah mana yang menjadi bagiannya, dan bahwa informasi itu tidak dihapus saat perintah dibuang, tetapi adalah dihapus saat Anda memanggil command.Parameters.Clear() .
Secara pribadi saya pikir saya akan menghindari menggunakan kembali objek di tempat pertama, tapi terserah Anda :)