Освобождение объекта без using

есть вот такой говнокод:

//webClient создан заранее и передан в метод как параметр
            try
            {
                t = webClient.DownloadString(url);
                errorCode = 200;
            }
            catch (WebException e)
            {
                if (e.Status == WebExceptionStatus.ProtocolError)
                {
                    HttpWebResponse httpWebResponse = (HttpWebResponse)e.Response;
                    errorCode = (int)httpWebResponse.StatusCode;
                    t = httpWebResponse.StatusDescription;
                    httpWebResponse.Close(); <<<<<<<<
                    httpWebResponse.Dispose(); <<<<<<<

                }
                else
                {
                    errorCode = 400;
                    t = "Client error";
                }
            }

Нужны ли эти две строчки в этой ситуации?

Так а using причем?

Вряд ли, обычно освобождает тот, кто создает.

вот я и говорю - без него

А с ним что не так?) Можно и с ним.

using System;

public class MyClass : IDisposable
{
    public void Dispose()
	{
		Console.WriteLine("Hello");	
	}
}

public class Program
{
	public static void Main()
	{
		var obj = new MyClass();
		using (obj)
		{
			Console.WriteLine("Do stuff");			
		}
		
		Console.WriteLine("Hello2");
	}
}

https://dotnetfiddle.net/yIHYI2

Уже обсуждалось. Я пока с ним всё еще не разобрался.