Во-первых, утечек памяти не будет, обо всём позаболится сборщик мусора.
Но, во-вторых, у вас в целом код очень странный.
Вы получаете один запрос на /forward_to_api, внутри делаете два параллельных запроса. Как только один из них отрабатывает - вы шлёте клиенту ответ и закрываете с ним соединение. Вы понимаете, что когда отработает второй запрос, ему уже некуда будет отправить свой status 204? В чём смысл такого кода?
И эти данные (достаточно сложные js-объекты) нельзя поместить в БД
noSQL же. MongoDB например так и хранит все в виде JS-объектов.
Можете попробовать так же in-memory решение, например Redis.
БД в вашем случае потом при необходимости тоже можно будет расшардить для улучшения производительности.
Открываем фаербаг и смотрим заголовки ответа:
Server nginx/1.2.1
X-Powered-By Express
Так что вероятно да, node.js спрятанная за Nginx.
Насчет "мгновенно" я не очень то и согласен, фаербаг показыват что 140 мс страница генерится, у меня на том же пхп и побыстрее бывало. Так что ничего особенного имхо.
Оно и не должно работать, потому что так нельзя писать.
Если удаление не в каллбэке - то оно сработает раньше чем запрос и arr[i] будет undefined.
Если в каллбэке, то к моменту вызова каллбэка a[i] будет являться вообще не тем, чем вам хотелось бы, и побьются "чужие" данные.