Why do you apply state QueueDrained in the constructor here?  Guessing I just don't know the context of how HttpRequestLifeTime's are generated.