Environment.Stacktrace がいつ空の文字列を返すことができるのか興味があります。Reflector を使用すると、new StackTrace(true) が呼び出されていることがわかりますが、それがスタックを返さないシナリオについてはよく知りません。Environment.Stacktrace のドキュメントによると、
スタック トレース情報を含む文字列。この値は String.Empty にすることができます。
http://msdn.microsoft.com/en-us/library/system.environment.stacktrace.aspx