I found today an older post that links to an interesting book, named “.NET Framework Standard Library Annotated Reference, Volume 1: Base Class Library and Extended Numerics Library”, and I discovered an interesting discussion: should we derive our custom exceptions from Exception or from ApplicationException. To be honest, I didn't paid attention to ApplicationException when I browsed the documentation, and I went straight, and derived from Exception. Apparently it was a good choice.
Just my 2 cents.