Use Arrays in Twig Template from Custom Block
There is a syntax error in your hook_theme. Use this instead:

function mymodule_theme($existing, $type, $theme, $path){
return array('header' =&gt;
    array(
        'variables' =&gt; array(
            'header_title' =&gt; 'Default Title',
            'header_size' =&gt; 'h1',
            'text_align' =&gt; 'center',
            'uppercase' =&gt; FALSE,
            'grid_size' =&gt; 12,
            ), 
        ),
    'product_display' =&gt; 
        array(
            'variables' =&gt; array(
                'imageurl' =&gt; [],
                'product_title' =&gt; [],
                ),
            ),
    );


}

The # sign in a render array is used to differenciate a key that has a meaning in the rendering versus an element. It shouldn't be included in the theme definition.