Я же как раз и говорю о функционально законченных блоках,которые не обязательно должны повторятся,значит еще укрупните макрос,сделайте макрос в макросе) ,которые нужно запихнуть в макрос .Да ,не люблю и коробит употребление слова КОД применимо к ПР ,ОЛ.
Если нет такой возможности (законченная функция) ,то разбейте исходя из минимума входов\выходов .
Таким образом зависания связаны с графикой (элементы,связи),библиотеками ,а не компиляцией ...
Диагнос поставлен ,лечитесь и будьте здоровы