Tu variable de sesión seguirá "viva" mientras la sesión lo haga. Podés probar teniendo un método dentro del Global.asax que gestione estas variables en el Session_Start y las verifique en la Session_End.Si eso
no te funciona, usando métodos GET o POST para esas variables.
En cualquier caso, el hilo debe morir cuando termina de convetir la imagen a JPG.
Podés tener incluso un .aspx que lo único que va hacer sea esa conversión, y en el control de tipo imagen que la cargue en su source sería ese "archivo.aspx" y la variable por GET o POST. Con GET sería algo así
como:
<img src="archivo.aspx?img=1" border=1>
Y en el Page_Load del archivo.aspx tendrías la conversión a JPG que hacés, devolviendo la imagen por medio del:
Response.BinaryWrite( (byte[]) {imagen} );
Un ejemplo más extenso lo podés ver en:
http://www.developerfusion.com/article/3933/retrieving-images-from-a-database/3/
Espero haber resuelto algo y no haberte metido más dudas.