get_the_post_thumbnail() not displaying

PHP newb here.

I’m trying to create a function that will list child pages with their featured image. But I can’t get the image to display using get_the_post_thumbnail(). I’ve tried a bunch of things but I’m stumped.

function show_child_grid() {
    $parent = get_the_ID( $post->post_parent );
    $args = array(
        'child_of'      => $parent,
        'sort_column'   => 'post_title'
    );
    $pages = get_pages( $args );
    $output = '';
    foreach($pages as $page){
        $thumb = get_the_post_thumbnail( $page->ID );
        $output .= '<div>' . $thumb . '<a href="' . $page->post_name . '" >' .  $page->post_title . '</a></div>';
    } 
    return $output;
}