I wrote a little profiler for my application that collects cl_event objects to evaluate them after the application has done all its work, so not to have an impact on performance. I am also making use of clSetMemObjectDestructorCallback. This tells me that Buffers are not released until I release the cl_event objects which refer to a read or write to the buffers.
Is this desired behaviour? I couldn't find anything in the standard concerning this particular issue. Other implementations do behave differently. Is there may me any way to decouple the buffers from the events so they can be released in my application during "work-time" and not during "profiling-time"? Because this obviously consumes all my memory over runtime.