Есть ли смысл использовать byte, если в операция конвертирует в int??
Уменьшать размеры переменных стоит только если Вы их будете где-то хранить в бд, на жестком и эти данные могут хорошо разрастить. Если же все работает в памяти, то действительно, нет смысла такой конвертации, для машины самый удобный тип для работы, это int, и большинство примитивных типов он неявно будет приводить к нему. Действительно, есть рекомендации не использовать без надобности типы shot, ushot и т.д., т.к. внутри они всеравно приводятся к int.
В дополнение пара ссылок: сюда и сюда
И цитата из них следует отметить, что в C # все арифметические выражения производятся на int. Это означает, что вам нужно будет увеличить число байтов до типа int, чтобы выполнить вычисления на них
нет, процессору удобнее работать с числами "своей" разрядности. т.е. х86 - Int32, х64 - Int64