В структурах нет никаких указателей на таблицу методов(лишние куски памяти), поля для заголовка объекта тоже нет поэтому они гораздо экономнее расходуют саму память
Если только структуру не надо часто передавать в метод (по значению)
Тогда выполняется копия объекта, выделение дополнительного места в памяти, а если метод ещё и к упаковкам приводит.... Ужс)) так что выбор класс/структура выходит за рамки "а где у нас выделяется память, какие у нас значения по умолчанию и что там с конструктором без параметров?"