ソースを見てないので、勘で答えるが、
_parentNodeとは、1マス前の場所かな?
それがnullとは、開始点のことかな?

GetPathで、道順を逆にたどっているのだろう。
Start → A → B → End なら、
E → B → A → S → null

1 3 2 2
2 S 1 1
4 4 4 4

まずSの隣接マスを、キューに入れる。[3,2,1,4]
すると、Sの右の1が選ばれて、キューは[3,2,4]となる

次に1の隣接マスを、キューに入れるが、
ここまでの移動コスト1を足す。
[2+1,1+1,4+1]=[3,2,5]
[3,2,4,3,2,5]、次に前の方の2を取り出すなど、再帰的に繰り返す

ダイクストラ・A*は、内部的には、
priority_queue(優先度キュー・順位キュー)を使っているので、
まずダイクストラから勉強すればよい

距離などのヒューリスティック(ヒント情報)を使わない、
つまり常に0にすれば、A*はダイクストラになる