try this code instead:
add_filter( 'post_thumbnail_html', 'custom_add_post_thumbnail_caption',10,5 );
function custom_add_post_thumbnail_caption($html, $post_id, $post_thumbnail_id, $size, $attr) {
if ( !$html == '' && is_single() ) {
// Get Excerpt of thumbnail
$thumbnail_image = get_posts(array('p' => $post_thumbnail_id, 'post_type' => 'attachment'));
$thumbnail_caption = $thumbnail_image[0]->post_excerpt;
if ( $thumbnail_caption ) {
$html .= '<div class="wp-caption thumb-caption">
<p class="wp-caption-text thumb-caption-text">'. $thumbnail_caption .'</p>
</div>';
}
}
return $html;
}