Can the pxCurrentTCB Be NULL after the vTaskStartScheduler has been called?

Hi folks:
in the prvAddNewTaskToReadyList, the following bold comment said that all the task are
in the suspend state so there may be pxCurrentTCB in NULL state, But I exhaustion my brain to think this scenario and cant believe this is true, the pxCurrentTCB Cant be NULL after vTaskStartScheduler was called, becasue Even though all the task are en suspend, there a a idle task will always be in running queue and cant be suspend, right? so the pxCurrentTCB cant be NULL! am i right?
Thank you!
1068 static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB )
1069 {
1070 /* Ensure interrupts don’t access the task lists while the lists are being
1071 ¦* updated. */
1072 taskENTER_CRITICAL();
1073 {
1074 ¦ uxCurrentNumberOfTasks++;
1075
1076 ¦ if( pxCurrentTCB == NULL )
1077 ¦ {
*1078 ¦ ¦ / There are no other tasks, or all the other tasks are in **
1079 ¦ ¦ ¦ the suspended state - make this the current task. /
1080 ¦ ¦ pxCurrentTCB = pxNewTCB;

It is not possible for pxCurrentTCB to be NULL after the scheduler has been started. But this function gets called before the scheduler is started too.

In FreeRTOS it is not possible to create a task in the suspended state, but it is possible to create a task and then suspend that task before the scheduler is started. If you do that for all created tasks before the scheduler has started, so before the Idle task exists, then pxCurrentTCB will be set back to NULL - hence the comment is correct, but admittedly not very clear.

Thank you! Appreciate your kindly help!