1. Freeing the surface for a CGapiRGBASurface
From the online documentation for GapiRGBASurface:
"All data allocated by a surface object will automatically be freed when the surface object is deleted. If you manually want to free all data allocated by a surface you can call CGapiRGBASurface::CreateSurface(0, 0, 0).""
We might add FreeSurface (which internally just calls CreateSurface(0,0,0)) to CGapiRGBASurface in an upcoming version.