VitaliyB,
Приветствую на форуме!
Обрати внимание как следует форматировать код у нас на форуме - у меня в подписи инструкция.
Ты добавляешь замкнутые полилинии в качестве границы (Loop) штриховки. Очевидно, что замкнутая полилиния может быть только одна в качестве границы. В твоём же случае нужно в цикле добавлять по одной полилинии, т.е. вызовов oHatch.AppendLoop должно быть столько, сколько замкнутых полилиний ты выбрал.
P.S.: locked.Dispose(); убери - он лишний, так как этот метод вызывается автоматически при использовании using (...)