Не буду ничего объяснить, для тех кто не может прочитать по ссылке 

Могу только сказать, что ты ерунду пишешь:
	
	| Сообщение от ryh | 
	| Т.е. короче говоря, при синтаксисе new Fubction, alert('hello') берется из контекста window а не из LexicalEnvironment и потому не сгорает при уничтожении функции? |