After releasing a resource, why does EGO give it back to me?

Only use ReleaseResource when the client wants the resource replaced by another one. Use CancelAllocation if you are done using it.