Application.Terminate je korektné ukončenie programu. Ja mám skôr pocit, že tento riadok sa nevykoná, čiže dojde k "preskočeniu" tohto riadka a preto to pokračuje. Skontroluj si podmienky a či tam náhodou nemáš nejaký skrytý if, ktorý by mohol v rámci pokračovania príkazu na ďalšom riadku považovať tento príkaz za "svoj". V každom prípade, najrozumnejšie by asi bolo, keby si nám tento "nefunkčný" kód (aspoň metódu, o ktorej je reč) zverejnil.