Это компилятор JIT, который инструктирует CLR загружать сборку, как только она переведет ее на машинный код, который выполняется по требованию, и точное время не является детерминированным. Что касается второго вопроса, как только сборка загружена в AppDomain, единственный способ ее разгрузить - уничтожить этот AppDomain, нет другого способа выгрузить сборку.
Это должно быть после того, как страница сгенерирована.
Dim flag As String
Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
flag = Request.Params("flag")
End Sub