It's difficult to go through your code on my phone, but it sounds like things that can happen if an XMMATRIX isn't aligned in memory. Is the variable you're writing to allocated on the heap? Or owned by an object that is allocated on the heap?
Edit: taking another look at it, I'm guessing your RenderComponent object is heap allocated. XMMATRIX needs to be 16 bit aligned in memory. If it's on the stack then it's pretty much done for you, due to how XMMATRIX is defined. But on the heap, you have to make sure it's properly aligned yourself. When I have a chance to get on my pc I can post some links that can explain how to deal with this, but you can be proactive and google "heap aligned memory" or something similar. I remember there's a gamasutra article that explains it quite well.