Use atomic.LoadPointer() to read pointers stored atomically

Just like there's nothing to guarantee that simply storing a pointer is atomic, there's nothing to guarantee that simply loading a pointer is either. This commit uses `atomic.LoadPointer()` to load the pointer stored with `atomic.StorePointer()`.