Возможно внутренние конверсионные буферы. Если ваш bpp поверхности не соответствует вашей аппаратной поверхности, вам может потребоваться сохранить полный буфер в памяти, тогда как SDL может использовать эту поверхность напрямую, в противном случае. Это всего лишь догадка.
Но просмотр процесса в топе или диспетчере задач может быть не лучшим способом понять, что использует память. Если вы работаете в Linux, вы можете попробовать такой инструмент, как valgrind, чтобы получить очень хорошее представление о том, куда идет память.