Для iconv такое поведение норма https://sourceware.org/bugzilla/show_bug.cgi?id=6050 что напрямую, что из пайпа он пытается прочитать весь файл, чтобы проще было. Я так и не понял из обсуждения бага, действительно ли iconv может работать без буферезации всего файла/потока или нет и насколько рабочие патчи предложены.
А с grep непонятно. Что за файл, там нет очень длинных строк? И насколько сложное регулярное выражение?
Known Bugs
Large repetition counts in the {n,m} construct may cause grep to use lots of memory. In addition, certain other obscure regular expressions require exponential time and space, and may cause grep to run out of memory.
Это всё понятно, непонятно что заставляет разработчиков grep и iconv всасывать всё в память. Я как-то думал, что эти утилиты про потоки, чтоб можно было удобно сделать кучу пайпов и нормально обработать гигабайты данных.