Я редко видел фрилансовые задачи под c#, но несколько все же делал, например многопоточные парсеры сайтов и локальную базу данных с sqlite и lucene.net. Но в целом мне кажется. что для фриланса C# не очень перспективное направление.
Мне в свое время нравились вот эти книги:
Н. Вирт, Алгоритмы и структуры данных
Дж. Макконел, Основы современных алгоритмов. Но она я думаю похожа на "Анализ алгоритмов"