Другим решением может быть создание явного нового потока для выполнения операций, в которых вы получаете ошибку переполнения стека
Thread t = new Thread(Run, 4194304); // 4M of stack size
t.Start();
t.Join();
if (loadException != null) throw loadException;
void Run()
{
try
{
// Operation causing stack overflow
}
catch (Exception e)
{
...
}
}
Привет
Massimo