MB
Делать такие задачи через очереди — это разумно. Так же можно этих отдельных потоках обрабатывать ошибки. Но мир-то не идеален, и хочется иметь какой-то глобальный обработчик ошибок. Чтобы не получилось, что в системе что-то не работает, а мы про это даже и не знаем.
Вот в флайке это делается очень просто. Просто — в смысле в виде фреймворка. А как они это внутри реализовали — я так и не смог понять.