After some testing I find out that sometimes the EXCEPTION_ACCESS_VIOLATION error is NULL pointer (0x0000000000000000), uninitialized pointer (0xFFFFFFFFFFFFFFFF) or invalid pointer (0x0000000000000382)
Which means it must be caused by Garbage Collector? GetBase() method is most likely ok, but the object we call this method on becomes invalid after some time…