Судя по вашим словам исполнитель поступил нормально.
Вы приняли работу - значит никаких ошибок в ней нет, она вас полностью устраивает, и все остальные исправления и доработки за отдельную плату, по отдельной договоренности.
С момента принятия работы исполнитель ничем вам не обязан!
Задача исполнителя написать нужную вам программу в соответствии с техзаданием, и провести минимальное тестирование, чтобы убедиться что программа соответствует этому техзаданию и стабильно работает.
Как вы сами сказали работа была принята. Значит никаких ошибок не было.
Т.е либо программа полностью без ошибок, либо вы плохо принимали.
Все доработки которые идут после принятия программы это уже другая работа, которая отдельно оплачивается.
Это нормальная практика.
Если вы хотите избежать таких проблем - нанимайте тестировщиков со стороны, или сами тестируйте приложении более качественно, оговаривайте заранее сроки тестирования, чтобы у вас была возможность полностью протестировать приложение под нагрузкой.
Или как вариант - заранее договаривайтесь с исполнителем, что он обязан осуществлять бесплатную поддержку в течении оговоренного периода времени, чтобы он представлял на что подписывается, принимая ваш заказ.
Просто поймите одну вещь - исполнитель не всевышний, и полностью предусмотреть все не может, поэтому любая программа будет содержать ошибки, и будет работать немного не так как вам надо.
А вот насколько критичны будут эти ошибки для вас, зависит от качества техзадания и тестирования при приемке.