OriginalGriff
Просто: вы вытягиваете слишком много данных, и у вас закончилась память.
Решение одинаково простое: не тяните так много строк одновременно: или не тяните все данные - вполне вероятно, что вы тянете всю строку, и она содержит что-то очень большое, поэтому попробуйте посмотреть на то, что вы возвращаете, и посмотреть, действительно ли вам нужен каждый столбец каждый раз.
Возможно, Вам также придется посмотреть, что вы с ним делаете: если вы обрабатываете данные в своем коде, то вытягиваете их по частям: возможно, по 1000 строк за раз, или переходите на DataReader и обрабатываете их строка за строкой.
Или если вы показываете их все пользователю, то удалите весь свой исходный код и идите работать в индустрию быстрого питания: вы пишете ужасный пользовательский интерфейс, который ваши пользователи будут страстно ненавидеть. Никогда не показывайте больше двадцати или около того строк: листайте их, ищите, фильтруйте, но никогда не выбрасывайте и не надейтесь на лучшее.