Я дико извиняюсь но вы разве не видите что это другая проверка? То есть возможна ситуация когда пользователь уже выбрал этот логин, но почта у него другая. А вы ищете именно совпадение пары логин+имейл. :)
Ну это понятно ..флуд собсна и есть когда шлют слишком быстро и много. ))
Сборщик мусора не успевает очищать память от загруженных данных как уже очередной реквест подкидывает дровишек.
JSON большой, порядка 6Мб в строке, загружаем его 15 раз за минуту (60/4). В виде строки в респонзах он кушает приблизительно 15*6 = 90Мб. И это только текст. В виде распарсеного объекта он тоже память откушает.
Ну и кстати насколько я вижу в вашем скрипте база тоже на localhost. Возможно от бомбардировки её запросами она тоже решила поесть памяти. ))