El diodo de retorno de la bobina del relé debe estar lo más cerca posible para cruzar los terminales de la bobina del relé.
Ya que dice que el problema no ocurre cuando la carga no está conectada al relé, es probable que la carga sea la causa del problema.
Si la carga está completamente aislada de la placa MCU y sus fuentes de alimentación, el problema es algún tipo de acoplamiento inductivo o inyección en su placa MCU. Intente cablear temporalmente la carga en cables conductores más largos para poder moverla alrededor de su tarjeta MCU. Eso puede ayudarlo a evaluar la fuente del problema de ruido.
Si la carga no está completamente aislada de la placa MCU (por ejemplo, si comparten rieles de alimentación o conexión de bus GND), es posible que sea un problema de rebote de voltaje lo que está causando el problema. Escriba una versión simple de su programa que active el relé repetitivamente y luego observe la forma de onda de carga del relé en un alcance al mismo tiempo que la GND y la VCC cerca de su MCU. Mire para ver si uno u otro tiene un pico o cambio en su nivel de voltaje al mismo tiempo que la carga se enciende o se apaga. Las sobrecargas de corriente en la carga pueden hacer que el riel de voltaje aumente o que la GND rebote lejos de 0 V en algunas partes del cableado de la GND. El uso de esta técnica puede ayudar mucho en la evaluación del problema y le brinda la oportunidad de experimentar con cambios para mejorar el diseño lejos de los problemas.