A Free RTOS BLE project will stop responding to anything if left in a connected state as a peripheral for extended periods of time (greater than 3 or 4 hours). I was seeing this on our own project and was able to reproduce it with the SDK by programming two dev kits with the multi_role example. I started one dev kit (periph) advertising and selected it for connection on the other dev kit (host).
Leaving it running for a long period of time (overnight), when I came back to it the devices were no longer connected and the periph kit was not responding to buttons at all and the display showed 1 connection, while the host kit display showed 0 connections and responded to button presses with updating the terminal screen.
I was running the debugger on the periph dev kit and it seems that Free RTOS is still running (no hard faults or assert spin locks), checking tasks and entering the IDLE state every tick. I wasn't able to get more visibility into what FreeRTOS was doing beyond that.
I'm using the multi_role example from the SDK v126.96.36.199 that uses FreeRTOS and GCC.