It seems that I was running into some random issues with a Stored Procedure when it took longer than the default timeout value; I was advised of that here.
So I increased the value, and it seems to have helped.
But it makes me wonder: Why not just make it a very high number always, just in case the query or operation takes a long time? It's not as if it's going to take that long just because that is the MAX allowed, right?
And that being the case (I imagine), why would the default value be so low (30 seconds, I believe)?
UPDATE
I originally made the SqlCommand's CommandTimeout value 300 (5 minutes), but with that I got "Context Switch Deadlock occurred." So I then reduced it to 120 (2 minutes), and that seems to be more or less the "sweet spot" for me. I did get "Timeout expired" one time out of several tests, but when I retried the same exact range, it completed successfully the second time, so I guess it's just "one of those things" - 120 will sometimes not be enough of a timeout, but 300 is apparently too much. IOW, this balancing act between too little and too much doesn't appear to be "an exact science."