Portals cleanup with free()