>I think you may just need to check your connection.State to see if it is busy (Executing or Fetching) .
The updated version I posted is a better one. I create the connection each time, as recommended by Viv, and based on my understanding on how SQL Server can react sometimes on the same connection being reused for several hours/days/weeks, it was well proposed to adjust my code like that.
So, this eliminates the need to check for its status. I did take a look at that approach however. But, I also discovered that it was not a good one to consider. Viv also confirmed that in the other message about the fact that if it busy, there could be a situation that it cannot be closed and such.