Hunt the bug

time to read 1 min | 180 words

The following code will throw under certain circumstances, what are they?

public class Global : HttpApplication
       public void Application_Start(object sender, EventArgs e)
            HttpUtility.UrlEncode("Error inside!");

Hint, the exception will not be raised because of transient conditions such as low memory.

What are the conditions in which it would throw, and why?

Hint #2, I had to write my own (well, take the one from Mono and modify it) HttpUtility to avoid this bug.