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(
at java.lang.Daemons$

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: