When an exception is thrown or encountered:
void ThrowException()
{
    try
    {
        throw new Exception("Error");
    }
    catch
    {
    }
}
is it & how is it disposed from memory?
and how does the above code differ from the below code in respect of the disposal from memory of the Exception object?
void ThrowException()
{
    try
    {
        throw new Exception("Error");
    }
    catch(Exception e)
    {
    }
}