SSIS Event Handler(OnError) fires, even with no error


I have a SSIS package and set Event Handler (OnError) to send me a message with logs:

"Package: " + @[System::PackageName] + "\n" +"Start Timet: " + (DT_WSTR, 40) @[System::StartTime] + "\n" +"User Name: " + @[System::UserName] + "\n" +"Machine Name: "+ @[System::MachineName] + "\n" +"Task Name: " + @[System::SourceName] + "\n" +@[System::ErrorDescription]

The problem is, it fires and sends me a message for each component, even when they run successfully. I even disabled all components temporarily, but still received emails from it. I can put all components in one big ForEach component, but as it needs much memory, I don't prefer to do that.

Furthermore, I checked all warning and fixed them as well. Rebuild the solution. Disabled / enabled all components.

When it's succeed, what is the error descrption you get?

Nothing! Just an email with empty body!