No, do not call GlobalFree after putting data on the clipboard. Think about it this way -- you are transferring ownership of the global memory block from your application to the clipboard. When the clipboard no longer needs the data, it will release the memory by calling GlobalFree itself.
Official documentation from SetClipboardData function -- "If SetClipboardData succeeds, the system owns the object identified by the hMem parameter. The application may not write to or free the data once ownership has been transferred to the system..."