I think we should thank @pwessel for the very efficient implementation of grdcut that managed to work with the huge original file to cut out an area without loading all the data into memory, or you would have run into the memory limit at that step. Doing a downsampling with gdalwarp sounds like a great idea.