public void Deallocate(RemoteAllocation allocation)
{
// Dispose the element
if(!allocation.IsDisposed)
allocation.Dispose();
// Remove the element from the allocated memory list
if (InternalRemoteAllocations.Contains(allocation))
InternalRemoteAllocations.Remove(allocation);
}