Я бы предположил, что есть некоторый или другой отступ, который означает, что после первого назначения должно произойти некоторое изменение размера, чтобы соответствовать вещам, означающим, что panelABC становится меньше (поэтому он будет соответствовать правильно). Таким образом, рекурсивные вызовы заставляют его уменьшаться.
Чтобы убедиться, что это так, вставьте точку останова и проверьте, какие у вас размеры при прохождении ...