事前定義されたスケジュールで電子メールを送信するように構成された Windows サービスがあります。スケジュールは System.Timers.Timer で機能し、Timer_Elapsed が発生するたびに Timer.Stop() を呼び出し、メールを送信し (毎回約 1500 通のメール)、次のティックが発生する時間を計算し、タイマーを開始します ( Timer.Start() メソッドを呼び出す)。問題は、タイマーが経過し、プロセスが電子メールの送信を開始したときに、使用中のメモリが増加しますが、終了後に減少しません。「タイマーなし」アプリケーションで関数を呼び出すと、送信プロセスが終了した後に使用済みメモリが解放されます。なぜこれが起こっているのかを理解するのを手伝ってくれる人はいますか? たぶん、タイマーで使用されるスレッドに関連する何かがありますか?
前もって感謝します。