Поддерживает ли С# перегрузку методов на основе возвращаемого значения?

Да, поддерживает.
Нет, не поддерживает. CLR также не поддерживает.
Нет, не поддерживает. Но CLR поддерживает.