Calling the ``++BeginInvoke++`` method of a delegate will allocate some resources that are only freed-up when ``++EndInvoke++`` is called. This is why you should always pair ``++BeginInvoke++`` with an ``++EndInvoke++`` to complete your asynchronous call.