По поводу того, что контекст пересоздается - это наверное не совсем хорошо. По этой причине его нельзя использовать для DI, приходится всякие костыли крутить
Его и не надо использовать для DI, так как в ведре контексты не пытаются покрыть всё приложение, лишь концепты самого андроида — аппликейшн и основные типы компонентов. Возможно, если б там легко было создавать свои контексты, это было иначе. Но оно и хорошо, что у нас всё именно так сделано — почти все андроидщики понимают, что любой контакт с платформой надо держать на внешнем слое приложения, дабы весь остальной код от платформы не зависел никак.