в жизни не видел std::bad_alloc
Я встречал bad_alloc на винде несколько раз. Один был следствием UB (юзание по ссылке уничтоженного объекта, в там у строки в итоге был мусор вместо размера => попытки выделить триллиарды памяти). Второй раз был следствием бага msvc (оптимизатора), притом падало с bad_alloc до main-а на создании глобальных переменных. Кстати, не уверен, что этот баг пофикшен(