<!--- 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
<!--- Explain the problem briefly below -->

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
ansible.builtin.find

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.10.5
  config file = /Users/bryan.murdock/.ansible.cfg
  configured module search path = ['/Users/bryan.murdock/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/bryan.murdock/Library/Python/3.7/lib/python/site-packages/ansible
  executable location = /Users/bryan.murdock/Library/Python/3.7/bin/ansible
  python version = 3.7.3 (default, Apr 24 2020, 18:51:23) [Clang 11.0.3 (clang-1103.0.32.62)]
```

I tested with version 2.10.4 and the bug is there too.  I also tested with 2.9.17 and the bug is *not* present in that version.

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
ANSIBLE_PIPELINING(/Users/bryan.murdock/.ansible.cfg) = True
DEFAULT_FORKS(/Users/bryan.murdock/.ansible.cfg) = 20
DEFAULT_HOST_LIST(/Users/bryan.murdock/.ansible.cfg) = ['/Users/bryan.murdock/work/soc-common/scripts/ansible-hosts']
DEFAULT_TIMEOUT(/Users/bryan.murdock/.ansible.cfg) = 120
DEPRECATION_WARNINGS(/Users/bryan.murdock/.ansible.cfg) = False
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
running ansible-playbook on Mac OS 10.15.7, connecting to centos 7.8.2003

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
If you run the below task in a playbook using ansible 2.10, it takes a really long time.  If you use ansible 2.9, it completes very quickly.  You can set recurse to no and it will complete very quickly (but won't find the files I need).  If you set recures to yes and depth to 1 then it should behave the same as recurse: no, but it doesn't.  It takes a really long time.

<!--- Paste example playbooks or commands between quotes below -->
```yaml
    - name: find .bashrc files
      find:
        paths: /home/
        patterns: .bashrc
        file_type: file
        hidden: yes
        recurse: yes
        depth: 2
      register: bashrc
```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
find completes quickly

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
find takes a really long time.
<!--- Paste verbatim command output between quotes -->
There is no interesting or helpful output


default: '*'
        description:
            - One or more (shell or regex) patterns, which type is controlled by C(use_regex) option.
            - The patterns restrict the list of files to be returned to those whose basenames match at
              least one of the patterns specified. Multiple patterns can be specified using a list.
            - The pattern is matched against the file base name, excluding the directory.
            - When using regexen, the pattern MUST match the ENTIRE file name, not just parts of it. So
              if you are looking to match all files ending in .default, you'd need to use '.*\.default'
              as a regexp and not just '\.default'.
            - This parameter expects a list, which can be either comma separated or YAML. If any of the
              patterns contain a comma, make sure to put them in a list to avoid splitting the patterns
              in undesirable ways.
        type: list
        aliases: [ pattern ]
        elements: str
    excludes:
        description:
            - One or more (shell or regex) patterns, which type is controlled by C(use_regex) option.
            - Items whose basenames match an C(excludes) pattern are culled from C(patterns) matches.
              Multiple patterns can be specified using a list.
        type: list
        aliases: [ exclude ]
        version_added: "2.5"
        elements: str
    contains:
        description:
            - A regular expression or pattern which should be matched against the file content.
            - Works only when I(file_type) is C(file).
        type: str
    read_whole_file: