Ну, потому что никто не реализовал это таким образом.Или, точнее, потому что return
не является выражением.
throw
раньше был оператором только до C # 7.0, но затем был расширен (из-за предложения), чтобы также быть выражением (только операторы поддерживаются только в операторе объединения нулей).
Поэтому, если никто не предложит сделать return
выражением, оно не будет работать.