Update Application.cs

reimplemented Double-check lock.
Single-check lock doesn't prevent from multi-initialization.