buffer: free data when copied during `useData`