Osc::MalformedBundleException "bundle size must be multiple of four"

Hi there,
following ofxOscSender OutOfBufferMemoryException

I
did split my blob sending into separate messages, but now at somewhat
random, yet fairly frequently repeating occasions I get thrown the
exception on the receiving end

if( (size & 0x03L) != 0 )
        throw MalformedBundleException( “bundle size must be multiple of four” );

found in

addons/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.cpp:677

If i move my arm into view the receiving application will throw the exception .
What could be wrong? coud it be that the packets of the blobs arrive at
random order and the receiveBundle.init() gets missed up somehow?
Note that the sending application and receiving application run on the same pc for now.
Any pointers as to what I could do?
Thank you for your help!

I append the sending and receiving functions.

note that

vector<ofPolyline> blobTr;

sending is :

void ofApp::sendBlobOutlines()
{
    if  ( blobTr.size() > 0 )
    {
        ofxOscMessage blobMsg[blobTr.size()];

        //for all outlines
        for ( unsigned int i = 0 ; i < blobTr.size() ; i++ )
        { 
            blobMsg[i].setAddress("blobOutline");

            //for all points in each outline
            vector<ofPoint> ptsInPolyline = blobTr[i].getVertices();
            blobMsg[i].addIntArg( ptsInPolyline.size() ); 
            for ( unsigned int k = 0 ; k < ptsInPolyline.size() ; k++ )
            {
                blobMsg[i].addFloatArg( ptsInPolyline[k].x );
                blobMsg[i].addFloatArg( ptsInPolyline[k].y );
            }
            oscMsgSender.sendMessage(blobMsg[i]);
        }
    }
}

and receiving :

bool& ofApp::hasScannerMsgPending()
{
    bool gotMessage = false;

    // check for waiting messages
    while(scanner.hasWaitingMessages())
    {
        ofxOscMessage m;
        int argIndex=0;
        scanner.getNextMessage(&m);
        string addy = m.getAddress();

        if(addy == "blobs")
        {
            string typeOfInput = m.getArgAsString(argIndex);//index is from getArgsNum
            if (typeOfInput == "m")  //receive mouse events
            {
                argIndex = receiveBlobsCentroids(m,1);
            }
            else //receive centroids/rectangles/outer (most-)points
            {
                argIndex = receiveBlobsCentroids(m,1);
                argIndex = receiveBlobsRects(m,argIndex);
                argIndex = receiveBlobMosts(m,argIndex);
            }
        }
        else if(addy == "blobOutline")
        {
            outlines.clear();
            argIndex = receiveBlobsOutline(m,0);
        }
        gotMessage=true;
    } //end while
    return gotMessage;
}

as you can see, the receiver apart from the blob messages receives
also centroids , rectangles and some additional points, far fewer but
all wrapped up in a differently addressed message.