Thread.Abort()は使用しないでください。非管理リソースが解放されず、メモリーのリークおよびハングの原因になる可能性があります。
リソース使用率を最適化するには、OracleConnectionやOracleCommandなどのODP.NETオブジェクトが不要になったときに、オブジェクトのクローズまたは破棄、あるいはその両方を明示的に行う必要があります。.NET Frameworkのガベージ・コレクタによるリソースの再生に頼るのではなく、この作業を行ってください。ストレス条件下ではCloseまたはDisposeの明示的なコールによってリソース使用率が大幅に低下することを多くのユーザーが確認しています。
System.AccessViolationException、System.Runtime.InteropServices.SEHExceptionなど、メモリー破損に関連するような例外がアプリケーションに発生した場合は、アプリケーションの実行を続行しないことをお薦めします。
HKEY_LOCAL_MACHINE\Software\Oracle\NLS_LANGレジストリ・エントリがNAに設定されていると、ODP.NETでORA-12705エラーが発生します。この問題を解決するには、HKEY_LOCAL_MACHINE\Software\Oracle\NLS_LANGレジストリ・エントリを削除します。