SqlConnections は、非アクティブ状態が一定時間続くと閉じているようです。接続が開いている時間を制御できる必要があります。接続用に構成できる「接続タイムアウト」および「接続ライフタイム」プロパティがありますが、必要な機能がありません。
問題は、アプリケーションが巨大で、多くの場所でいくつかの画面が開いているときに接続が閉じられないことです。ユーザーは画面を開いて昼食に行き、戻ってきて何かをしようとすると、「接続が失われました」という例外が発生する可能性があります。これがアンチパターンであることはわかっていますが、今のところ、接続の有効期間を 1 か所で延長してから、数千の場所で接続を開いたり閉じたり、プールしたりする方が簡単です。