MSP430 printf() through Spy-Bi-Wire hangs
It sounds like a memory allocation problem, while I haven't used the MSP430 series a lot I see the MSP430FR5739 only has 1K of SRAM so a few settings you've tried don't make a lot of sense. For a start you should try reading the memory map and see how much room the static variables take so you can calculate how much of the 1K is left for the stack and heap also also read the documentation for printf to see how much of each it requires.

0x3FFF corresponds to a relative jmp -1 so in other words an infinite loop. I'm not sure with CCStudio in particular but many compilers fill unused memory with such an instruction. That means if the code jumps to a location containing no code execution stops rather than continuing potentially causing further problems.

Personally I never use printf on small microcontrollers, you are much better off starting with simple character output routines like putchar and puts. Then if I you need numeric output for example roll your own minimal routines to do what you require. The printf library can be quite large even in compact variants due to the wide number of formats it supports even though you're probably not using them.