[GLib] Optimize freeing a native list from managed
[GLib] Optimize freeing a native list from managed

This makes it so we use the optimized iteration version, coupled with doing the check on what free function to use only once.

sillsdev/gtk-sharp,sillsdev/gtk-sharp,sillsdev/gtk-sharp,sillsdev/gtk-sharp,sillsdev/gtk-sharp