The behaviour when a falsy value is passed as the $locale is undocumented, but it appears that it returns the primary language of the default system language. In my case:
Locale::getPrimaryLanguage(null);
Returns 'en'. So make sure to test $locale before passing it to the method.