Code flow (threading?) issue

I’m not 100% sure if this is a bug or if I am doing something wrong, but…

I have a very simple class, with almost no content in it at all, as of yet.
In the Initialize method for this class, I am doing a simple null pointer check, then setting default values and instantiating a new UProceduralMeshComponent object variable. My blueprint for this class simply calls the Initialize method from OnBeginPlay, and that’s all.

The issue here is that my code does not appear to flow sequentially, and instead, appears to “jump around” as if it were some sort of multi-threading or synchronization issue. But I have not intentionally implemented any sort of threading into my project, so I find it a bit strange that this happens by default. Here’s a short video displaying this behavior in action (also note how the breakpoint in IsValidObject is never hit, but the code block runs anyhow):

What could be causing this to occur, and what can I do to prevent it?

Well, you should not debug your code in Development Editor configuration:)

Change it to Debug Editor and the code flow will be good.

This resolved most of my problems. For the full solution, I also had to do a full rebuild (not just a standard build) of my project, and remove/recreate any blueprints which referenced my CPP classes