Add entities to and execute "ExecuteMultipleRequest"
Your logic looks fine to me. If you find yourself creating something in two places then feel free to create a helper function to do so.

Your logic can be arguably simpler if you count down rather than up, since we already know the number of requests.

Something like:

private static int MAXTOBEPROCESSED = 1000;

public void processEntities (List&lt;Entity&gt; entities)
{
    var createMultiple = CreateMultipleRequest();

    for (int n = entities.Count; n &gt; 0; n--)
    {
        createMultiple.Requests.Add(new CreateRequest{ Target = entities[n] });

        if (n % MAXTOBEPROCESSED == 0)
        {
            var responseWithResults = (ExecuteMultipleResponse)service.Execute(createMultiple);
            createMultiple = CreateMultipleRequest();
        }
    }
}

private CreateMultipleRequest()
{
    return new ExecuteMultipleRequest()
    {
        Requests = new OrganizationRequestCollection(),
        Settings = new ExecuteMultipleSettings()
        {
            ContinueOnError = false,
            ReturnResponses = true
        }
    };
}