java.lang.Error: FATAL EXCEPTION [FinalizerWatchdogDaemon]

java.lang.Error: FATAL EXCEPTION [FinalizerWatchdogDaemon]
Unity version : 5.1.1f1
Device model : samsung unknown
Device fingerprint: samsung/jgedlteue/unknown:5.1.1/LMY48B/2b4852bccc:userdebug/test-keys

Caused by: java.util.concurrent.TimeoutException: com.unity3d.player.ReflectionHelper$1.finalize() timed out after 10 seconds
at com.unity3d.player.ReflectionHelper.nativeProxyFinalize(Native Method)
at com.unity3d.player.ReflectionHelper.a(Unknown Source)
at com.unity3d.player.ReflectionHelper$1.finalize(Unknown Source)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:208)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:191)
at java.lang.Thread.run(Thread.java:818)

I got this in Crashes & ANRs in google developer console.
How can I fix it? And what actually is it?

I have faced similar problem and got exception as well. @Umresh reply was absolutely correct.
Something was definitely running in background and you are trying to close your activity.
This gives you this kind of errors.

In my one, I have left running infinite Coroutine so I manage it to stop before I leave game.
Here is small code snippet to give more idea.

    void Start ()
	{
		StartCoroutine (ShowRandomAd ());
	}

	IEnumerator ShowRandomAd ()
	{
		while (true) {
			yield return new WaitForSeconds (60f);
			// your code
		}
	}

	void OnDisable ()
	{
		StopCoroutine (ShowRandomAd ());
	}

For visibility, we are discussing this issue here in this post thread:
https://forum.unity.com/threads/crash-with-exception-java-util-concurrent-timeoutexception.1331967/