I would create a console application and host it on a VPS to do the processing.
The console application could run like your current application provided you can send all the information via command line. When the console is complete have it write a new html report or update a server side database with the results and follow up with a tweet (Twitter API required)or email of the completed status.
I've use a similar approach and it works fine even with long running processes.
//start a console app on the server
ProcessStartInfo info = new ProcessStartInfo(pathtoCONSOL.EXE, RunArguments);
info.UseShellExecute = false;
info.RedirectStandardInput = true;
info.RedirectStandardError = true;
info.RedirectStandardOutput = true;
info.CreateNoWindow = true;
using (Process scr = Process.Start(info))
{
scr.WaitForExit();
ThumbnailCreate(ScreenShotFileName, ScreenShotThumbnailFileName, ThumbWidth, ThumbHeight, ThumbKeepAspectRatio);
File.Delete(ScreenShotFileName);
}