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