Кто нибудь знает как .NET ведет себя в плане потребления ресурсов?
Как любой язык со сборщиком мусора, он вынужден прерывать исполнение для сборки мусора. Поэтому нужно быть аккуратным с аллокациями в "горячих" путях исполнения. Советы по оптимизацию сборки мусора давно описаны, даже книга целая написана. Вот только с профилировщиками под Линукс пока не очень.
Также есть нюанс с размером файлов который достаточно большой даже в Release сборке. Это происходит потому что библиотеки кладутся рядом с исполняемым файлов в полном размере, ничего не обрезается. Сейчас идут работы по компиляции в один файл и уменьшению размера этого файла, но там есть нюансы. Например для решений с динамической загрузкой сборок или использующих рефлексию (в некоторых случаях), обрезка все сломает. То есть надо быть готовым к тому что папочка Release будет весить 100-200МБ