Systick is not suppressed forever. The RTOS calculates the time at which next event (in your case, receive timeout) will happen and tick is suppressed only for that duration. Take a look at the xExpectedIdleTime here - https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/tasks.c#L3518
Yes, that’s possible. But remember, whether tickless idle is enabled or not, there is a limit to the timeout duration you can specify. For example, with 16-bit ticks and a 1000 Hz tick rate, you can specify up to 65.5 seconds of timeout (0xFFFF ticks). With 32-bit ticks an 1000 Hz tick rate, you can specify up to 49.7 days of timeout (0xFFFFFFFF ticks).
During a long delay with tickless idle enabled, the idle task executes as many tickless periods as necessary to conduct the long delay.