Вспомни свой самый ужасный код. Перепиши его строчка-в-строчку на Java, дописав минимум по пять интерфесов на каждую сущность. Теперь представь, что это код в десять раз хуже.
Вуаля - ты получил представление о тру-интерпрайзе.
Не путайте вывод команды и код выхода. Испльзуйте печать в stdout, к примеру, а из c# читайте.
"тандартная возможность передачи объекта через буфер между языками" - часто используют для этого очереди. zeromq, к примеру.