Ответ
ViewModel хранится в памяти, внутри ViewModelStore, который принадлежит ViewModelStoreOwner (например, Activity или Fragment). ViewModelStore сохраняет ViewModel до тех пор, пока его владелец не будет уничтожен (для Activity — до завершения, для Fragment — до отсоединения). При повороте экрана ViewModel сохраняется, так как Activity/Fragment пересоздаются, но ViewModelStore остается.
Пример:
class MyViewModel : ViewModel() {
// Логика ViewModel
}
// Получение ViewModel в Activity/Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)