This would most likely be due to stack alignment issues and according to http://www.freertos.org/History.txt I thought this had been fixed since V7.0.1.
Place a break point at the start of a task function before the task stack frame has been created (so on entry to the function, before the space for the variables have been allocated). Is the stack aligned to an 8 byte boundary? If not, then try removing the following lines from the top of pxPortInitialiseStack() which is defined in Source/portable/MPLAB/PIC32MX/port.c - the lines were originally added to fix this problem but it is possible something has changed since then:
/* Ensure byte alignment is maintained when leaving this function. */
pxTopOfStack--;