Maybe I can help a bit…
But for this, I should understand the reason for you to instantiate a Polylang_Core object on admin side with:
require_once(PLL_INC.'/core.php');
$PolyLang = new Polylang_Core();
require_once(PLL_INC.'/api.php');
I have seen that you use it only for the function get_current_language
which is available only on frontend. Are you doing this for AJAX?
In that case, setting $_REQUEST[‘pll_load_front’] in your AJAX request should load the frontend side of Polylang, and then you can use the global variable $polylang
. If you set $_REQUEST[‘lang’], Polylang will use it to set the language, otherwise it will use the preferred language (cookie or browser preference or default)
Edit: maybe my help is not needed anymore, if everything works