<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
We a playbook that is using `ansible_ssh_common_args` which proxy the command through a jumphost using ssh keys. The play we are running uses `command` to copy files between hosts, the play also has `async: 600` on it. 

The issue is that under the `/home/ansible/.ansible_async` folder leaves files behind that have the output of the single async file copy and _never_ cleans up the files. Over time this leads to the system running out of inodes as for every file that was copied a file is created, saved, and never deleted after the play. 

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
`async` task flag

##### ANSIBLE VERSION
```paste below
ansible-playbook 2.9.7
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/var/lib/awx/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /usr/bin/ansible-playbook
  python version = 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)]
Using /etc/ansible/ansible.cfg as config file
host_list declined parsing /tmp/awx_124793_637oraq9/tmpu7_ol0_8 as it did not pass its verify_file() method
Parsed /tmp/awx_124793_637oraq9/tmpu7_ol0_8 inventory source with script plugin
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
Defaults
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
Jumphost: CentOS 7
Target OS: AIX 7.1

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
Playbook
```yaml
- name: copy files
  hosts: all
  gather_facts: yes
  vars:
    source_system_paths:
      - "/test" 
    source_host: ""
  tasks:
    - name: Sync Folders cmd
      become: true
      become_user: ansible
      command: time sudo rsync -av -e "/usr/bin/ssh -o StrictHostKeyChecking=no -i /home/ansible/.ssh/id_rsa" ansible@"{{ source_host }}":"{{ item }}" "{{ item }}"
      with_items:
        - "{{ source_system_paths }}"
      loop_control:
        extended: yes
      async: 600
      poll: 5
```
Run ansible with following flags:
```
ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ProxyCommand="ssh -W %h:%p {{ jh_ssh_user }}@{{ jh_ip }} -i $JH_SSH_PRIVATE_KEY -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"'
```
In the home directory of the anisble user on the target host you will find `~/.ansible_async` where files will be created for each file that was copied. 

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
The folder or its contents from the run, `~/.ansible_async` is deleted completely or the files that were created by the playbook are deleted. 

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

FIles are never deleted and over time the system will run out of space, inodes, etc... as there are files left behind from _all_ previous runs. 

'''
        Polls for the specified JID to be complete
        '''
        if task_vars is None:
            task_vars = self._job_vars
        async_jid = result.get('ansible_job_id')
        if async_jid is None:
            return dict(failed=True, msg="No job id was returned by the async task")
        
        
        
        async_task = Task().load(dict(action='async_status jid=%s' % async_jid, environment=self._task.environment))
        
        
        
        
        async_handler = self._shared_loader_obj.action_loader.get(
            'ansible.legacy.async_status',
            task=async_task,