Initially I had a problem with the Web3j object, but after explicitly calling its shutdown method everything works fine (JVM quits immediately, so my application closes). The problem occurs when I call load(...) method of any Smart Contract. For some reason, if I quit the application, JVM hangs for 40-50 seconds until it quits. This is the thread dump: 
Here is the code used to load the contract:
