Дмитрий73, это по моему худшее что можно в коде делать, по этому так написал, но не предлагал.
Использовать try по моему основано когда обстоятельство не зависит от кода (интернет сервиса или физический файл) в некоторых случаях для быстродействия.
Но когда используется код который можно контролировать, как в этом случае, то try яркий пример плохого качество кода.
Тут, как я писал, по моему не продуманная и не корректная реализация гашения и показа HelpWindow.