Imager scrset matrix field, art directed content
It looks like you're looping through block.workImageMobile.all(), and that's not what you want to be doing. 

You're only putting in one image into each, right, and they're paired? 

So, You want the main for-loop for the blocks, then render the images in each block together "work image 1, work mobile image 1" then move to the next block, and the next image pair. 

{% for block in entry.workVisuals.all() %}
    {% if block.type == "imageContent" %}

        {% set picDesktop = block.workImage.one() %}
        {% set picMobile = block.workImageMobile.one() %}

        {% set imgDesk = craft.imager.transformImage(picDesktop, {
            mode: 'crop',
            width: 1920,
        }) %}

        {% set imgMob = craft.imager.transformImage(picMobile, {
            mode: 'crop',
            width: 768,
            height: 1272,
        }) %}

        &lt;picture&gt;
            &lt;source media="(max-width: 767px)" srcset="{{ imgMob }}"&gt;
            &lt;source media="(min-width: 768px)" srcset="{{ imgDesk }}"&gt;
            &lt;img src="{{ picDesktop.url }}" alt="{{ pic.title }}"&gt;
        &lt;/picture&gt;
    {% endif %}
{% endfor %}


Also note - on the desktop size, you've got it set to crop, but only have a width set, you might want to add a height to that too. Otherwise, it might be better with a resize function.