I would have used the NBFM TX example, given as part of gr-limesdr ( https://github.com/myriadrf/gr-limesdr/tree/master/examples ) called FM_transmitter.grc, as a starting point. It is transmitting a 480kHz wide signal but using a Rational Resampler block so that the LimeSDR can transmit at 2MSPS which at a guess may be a lower limit to the TX sample rate
I don’t have a LimeSDR where I am right now, so added a throttle block to stop 100% CPU usage, you would remove that block if you had an actual hardware sink in your flow graph. And I also added a second rational resampler to deal with your non-studio quality incoming 44.1kHz sample rate, this increased the processing, but it was at the lowest sample rate in the flowgraph. So less overhead than trying to deal with it at higher sample rates. I also could have chosen a final sample rate of 2.205MSPS on the LimeSDR either to reduce the processing overheads.