Убедитесь, что вы правильно буферизуете файлы, чтобы они не занимали чрезмерное количество памяти в системе.
например. отрывок из загружаемого приложения внутри цикла while, который читает файл:
// Read the data in buffer.
length = iStream.Read(buffer, 0, bufferSize);
// Write the data to the current output stream.
Response.OutputStream.Write(buffer, 0, length);
Где bufferSize - что-то разумное, например 100000 байт, компромисс в том, что он будет медленнее для меньших размеров буфера.
http://support.microsoft.com/kb/812406
Редактировать: Также убедитесь, что IIS настроен на достаточно большую длину запроса (IIS7) и время ожидания.