Может статься, что StretchDIBits расширяет исходное изображение во временное растровое изображение того же размера, что и целевое растровое изображение, а затем копирует временное изображение в конечное место в качестве последнего шага. Таким образом, даже если у вас достаточно памяти для создания целевого растрового изображения (140 МБ) перед вызовом StretchDIBits, ваша система не имеет дополнительных 140 МБ для выделения временному растровому изображению.