Does anyone know why the same error didn't occur at line 14?
ActiveXContainer without Create point to random memory.
Line 14 copies a single pointer value to this random location. You're lucky you didn't lose something important because the random area is small.
Using Active := true; already requires a fully valid Self, because property Active call "write" method. Here luck has already turned away because there is too little chance that a random memory area will match the correct object.