Если исключения вовремя ловить, то пофигу где они вызываются. Но это мелочи. А вот с критическими секциями ничего не поделать - или оборачивать ими все методы, или лучше лопатить рукописные объекты. Но это же проблема любой универсальной либы. Динамическое выделение памяти в прерываниях лучше избегать, хотя вроде бы (но я не изучал этот вопрос) для любого шаблона STL можно указать свой аллокатор памяти.
Это моё личное предвзятое мнение. Любое совпадение с реальностью является случайным и непреднамеренным.