A reliable way to perform background work in ASP.NET applications