You should rarely every use Environment.FailFast as it'll prevent finalizers, try/catch blocks and disposes from running. Only use it when your application is completely unrecoverable and further execution would only corrupt the application's state further.
Software Architect, Technology Writer, but most of all a programmer.