In the realm of array processing with its large data structures, identifying no longer needed objects on the heap for reuse or timely release is crucial. The only viable approach when using implicit memory management thus is garbage collection via reference counting. However, maintaining reference counts in a highly concurrent context poses a mayor challenge. Concurrent accesses to shared data-structures require the corresponding, shared reference counter to be updated as well. To perform these operations safely, the reference counter needs either to be protected by a lock or copied individually for each concurrent access. The former approach quickly leads to lock contention, whereas the latter approach incurs additional costs for maintaining those copies. We propose to implement reference counting by asynchronous message passing instead. Modern many-core architectures like the experimental Microgrid or Intel's SCC allow for low-latency high-speed ordered communication between processor cores. This makes it feasible to assign memory locations to dedicated cores that manage the corresponding reference counts. Reference counting operations can then be issued concurrently by any core by means of asynchronous inter-core communication. These are automatically sequentialised by the hardware and then processed in order by the receiving core. We expect the additional latencies from inter-core communications and the reference counting operations themselves to have little impact on the overall runtime due to the asynchronous nature of our approach.