Best approach to SetThreadExecutionState - C#