Как грамотно закрыть MySQLi?
Соединение закроется автоматически, когда отработает скрипт. В дальнейшем вам возможно еще раз понадобиться обращатся к бд. А установление соединения - довольно дорогостоящая операция.
Если вы пишите на php и это не демон (написание которого на пыхе - сомнительное удовольствие), то об освобождении ресурсов сильно не парьтесь. Скрипт отработал - за вас все подчистят.
Конкретно в этом случае, вынесите закрытие соединения в дестурктор. Или создайте отдельный метод close() и дергайте его.
По поводу подхода. В данном случае действительно будет лучше писать в процедурном стиле (и в этом нет ничего плохого; ООП - не панацея). Здесь вы класс используете не по назначению. Классы нужны для разделения логики: один отвечает за соединение с бд, другой за формирование запросов, третий за формирование результатов.
Я не хочу вас обидеть, но вы действительно не понимаете самого смысла ООП. И просто на голой теории это сложно понять. Я сам два года писал, используя ООП. И только потом понял для чего  это на самом деле надо.
Для поднятия навыка попробуйте покопаться в исходниках какого-нибудь фреймворка. Я в свое время перебрал ядро Yii. Он прост для понимания и не перегружен паттернами.
Касательно конкретно этого случая, я уже сказал, вынесите закрытие соединения в деструктор.
Два обязательных правила, которые ты должен соблюдать
1. Не пиши классов.
2. Не закрывай mysqli