Erlang's Creator Speaks About Its History and Prospects
Erlang is based on the ACTOR model, not CSP. The main practical differences between Erlang and CSP is that Erlang uses asynchronous dynamically-typed messages sent to a particular address (process id), whereas CSP systems usually deal with synchronous messages sent down a particular, typed channel. But they are both message-passing systems with the idea of removing shared mutable data, as you say.
For an implementation of CSP in the pure functional language Haskell, see my library CHP (http://www.cs.kent.ac.uk/projects/ofa/chp/).
Multi-Threaded Programming Without the Pain
I even implemented the original version of the Java Communicating Sequential Processes API which brought CSP style programming to the Java world, although it is based on Java's underlying Thread mechanism so context switching isn't as fast as it could be.
Assuming that's true, that would make you Paul Austin. Hi. JCSP is still going strong -- we've recently been adding extended rendezvous and poison, new release to follow shortly. If you're interested in developing on JCSP again, let me know. While we're on the subject of C++ and CSP in this thread: C++CSP. Again, new version to follow shortly (so much to do...)