Я не до конца понимаю вопрос, но вы, похоже, спрашиваете, что делать с дополнительными данными об исключениях, если это не ваш вопрос, не стесняйтесь игнорировать это.
Я думаю, что важный вопрос, который нужно задать, - это что именно за сообщение об исключении? Это не для того, чтобы знать, откуда возникло исключение, для этого нужна трассировка стека; это не должно включать исключение в более общее, что должно быть сделано с полем InnerException; в случае, когда ваше исключение возникает только из определенного места в вашем коде, это даже не для описания того, какая у вас ошибка - вот для чего предназначен тип исключения.
Обычно я использую поле сообщения, чтобы предоставить простые, понятные человеку подсказки, которые программист, а не я, может впервые увидеть эту ошибку, чтобы понять основную систему. Я считаю поле сообщения подходящим для краткого (из одного предложения) объяснения, подсказки о том, как часто возникает эта ошибка, или ссылки на дальнейшее чтение.
Итак, насколько я понимаю ваш вопрос, я думаю, что лучший способ сохранить эту «дополнительную информацию», полученную из другой системы, - это InnerException. Я не знаю Элму, но если она того стоит, она проверит исключения InnerException и сохранит их.