Why does the code below yield the positions given? In particular, why do {1,0}, {2,0} appear when these positions are not at level 2?
When UnsameQ is replaced by x neq infinity I get the correct result.
Thanks.
 
Position[({
   {?, 14, 0, 67, ?},
   {-3, ?, ?, 0, 6},
   {?, 0, ?, 66, 59},
   {45, ?, 5, ?, 0},
   {0, 29, 25, ?, ?}
  }), x_ /; UnsameQ[x, ?], {2}]
{{1, 0}, {1, 2}, {1, 3}, {1, 4}, {2, 0}, {2, 1}, {2, 4}, {2, 5}, {3, 
  0}, {3, 2}, {3, 4}, {3, 5}, {4, 0}, {4, 1}, {4, 3}, {4, 5}, {5, 
  0}, {5, 1}, {5, 2}, {5, 3}}