So it looks like the issue may have been solved through increasing the stack size of the Receiving task (i.e where my xEventGroupWaitBits function is called).
Maybe it worked before as the stack corruption occurred but the TmrSvc code wasn’t called. But now with an fromISR function executed. The TmrSvc now executes a few more co-routines (this is what Richard mentions) and uses the corrupted area.
Or increasing the stack size has just moved the problem elsewhere.
Either way its a stack issue and not a freertos issue, so I would like to thank you both for your help.
Cheers,
Dyfan