Все сводится к тому, как вы определяете характер и как вы храните данные.
Например, если вы определяете символ как одну букву с точки зрения пользователя, он может быть больше 2 байтов, например, этот символ: Å - это две кодовые точки Unicode (U + 0041 U + 030A, Latin Capital A + Объединение кольца выше), поэтому для него потребуется два символа .net или 4 байта в UTF-16.
Теперь, даже если вы говорите о 10 элементах .net Char, тогда, если он находится в памяти, у вас есть некоторые накладные расходы на объекты (которые уже упоминались) и немного накладные расходы на выравнивание (в 32-битной системе все должно быть выровнено по границе 4 байта) в 64-битных правилах сложнее), поэтому в конце может быть несколько пустых байтов.
Если вы говорите о базе данных или файлах, то каждая база данных и файловая система имеют свои издержки.