Use page template for custom $_GET content

You can use the template_include filter to load a template file from your theme:

add_filter( 'template_include', 'my_page_template', 99 );
function my_page_template( $template ) {

    if ( isset( $_GET['info'] ) &&  $_GET['info'] == 'some_value' ) {
         $new_template = locate_template( array('my-template.php' ) );
         if ( '' != $new_template ) {
             return $new_template ;
         }
     }
     return $template;
}

If you want to check the tempalte file within any other location you can. For example, you can check if the theme/child theme has the template file you want to load, if not, load a default template file from your plugin path:

add_filter( 'template_include', 'my_page_template', 99 );
function my_page_template( $template ) {

    if ( isset( $_GET['info'] ) &&  $_GET['info'] == 'some_value' ) {

        $new_template = locate_template( array('my-template.php' ) );

        if ( '' != $new_template ) {
            //my-template.php file has been found in theme/child theme folder
            $template = $new_template ;
        } else {
            //load template callback when the file dosen't exist in theme
            $template = PATH_TO_MY_PLUGIN . '/my-template.php';
        }

    }

    return $template;

}

See also template_redirect filter.